我试图制作一个“网页公式填充符”,但是从下拉列表中选择一个值时遇到问题。我正在尝试在此网站上选择“出生日期”选项: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")
然而它不起作用。任何人都知道如何解决它?
答案 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库中有效,我可能错了,但您应该能够自己推断它。