c#用webbrowser选择一个下拉选项

时间:2017-02-05 02:29:53

标签: c#

我试图制作一个“网页公式填充符”,但是从下拉列表中选择一个值时遇到问题。我正在尝试在此网站上选择“出生日期”选项:https://signup.euw.leagueoflegends.com/

我尝试过多种选择,但一切都失败了。我找到了类似问题的源代码,它的工作原理如下:

WebBrowser1.Document.GetElementById("PvpnetAccountDateOfBirthDay").SetAttribute("value", "10")
WebBrowser1.Document.GetElementById("PvpnetAccountDateOfBirthMonth").SetAttribute("value", "12")
WebBrowser1.Document.GetElementById("PvpnetAccountDateOfBirthYear").SetAttribute("value", "1990")

然而它不起作用。任何人都知道如何解决它?

1 个答案:

答案 0 :(得分:0)

在HTML(和DOM)中,只有<input />元素的value=""属性很重要 - 但下拉输入实际上是<select>个元素,而不是<input />,所以有不使用value=""属性,而是使用<option selected="selected">属性。

var daySelect = WebBrowser1.Documents.GetElementById("PvpnetAccountDateOfBirthDay");
var day10Option = daySelect.Children.Single( e => e.Value == "10" );
day10Option.SetAttribute("selected", "selected");

...重复您想要的许多<select>元素。注意我假设.Single linq扩展方法在您的DOM库中有效,我可能错了,但您应该能够自己推断它。