WatiN C#从HTML生成列表中选择项目

时间:2014-08-14 06:02:28

标签: c# jquery web-scraping watin bots

我正在尝试从此网页的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时,不会显示任何列表。

如何从列表中选择项目?

1 个答案:

答案 0 :(得分:0)

如果您看到该页面的HTML,则不会将其称为“选择列表”,而是一个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:使用延迟进行测试,您可以根据需要进行更新。