c#从HTML生成的列表中选择项目

本文关键字:列表 选择 项目 HTML | 更新日期: 2023-09-27 18:17:51

我正在尝试从这个网页中的html生成列表中选择一个项目:

https://accounts.google.com/SignUp

例如,生日列表框已经用以下命令进行了测试,但没有成功:

browserInstance.SelectList(Find.ByClass("goog-inline-block goog-flat-menu-button jfk-select")).Focus();
browserInstance.SelectList(Find.ByClass("goog-inline-block goog-flat-menu-button jfk-select")).Click();

这个也不行:

Div birth = browserInstance.Div(Find.ByClass("goog-inline-block goog-flat-menu-button jfk-select"));
birth.Click();

单击不触发,没有列表出现,当你在UI中单击div时。

如何从列表中选择项目?

c#从HTML生成的列表中选择项目

如果您看到页面的HTML,它不是被称为Select List,而是一个div的列表,其中每个元素被引用到单个月份。您可以使用下面的代码从下拉列表中随机选择一个月份。

browserInstance.FindElement(By.Id("BirthMonth")).Click();
System.Threading.Thread.Sleep(1000);
System.Collections.ObjectModel.ReadOnlyCollection<IWebElement> months = browserInstance.FindElement(By.ClassName("goog-menu-vertical")).FindElements(By.ClassName("goog-menuitem-content"));
months[new Random().Next(0, 11)].Click();
System.Threading.Thread.Sleep(1000);

PS:用于测试的延迟,您可以根据您的需要进行更新。