更改选择值html表单(Awesomium VB.net)

时间:2016-09-30 19:36:10

标签: html vb.net select awesomium

Web浏览器控件:

  Dim element As HtmlElement =
        WebBrowser1.Document.GetElementsByTagName("select").Cast(Of HtmlElement).First(Function(el) el.GetAttribute("name") = "package_id")
        element.GetElementsByTagName("option").Cast(Of HtmlElement).First(Function(el) el.InnerText = "UNL").SetAttribute("selected", "selected")

如何在Awesomium中执行此操作?

试过这个:

WebControl1.ExecuteJavascript("$('#country').value('NL');")

WebControl1.ExecuteJavascript("document.getElementById('country').selectedIndex = NL")

不起作用。谁能在这里给我一些帮助?

1 个答案:

答案 0 :(得分:1)

你的最后一个看起来应该可以工作,除了你不能设置一个文本值到选定的索引...它只需要整数,所以你需要知道NL的索引到选择那样。如果您不知道索引,则必须循环选择选项并找到它,或尝试使用queryselector。如果您知道select选项的值,请使用:

WebControl1.ExecuteJavascript("document.querySelector('option[value='NL']').selected = true;")

请注意,上面的代码是搜索值,而不是文本...以及' NL' part必须与select中的内容完全匹配,包括单引号和双引号。例如:

<option value="CA">California</option> would need queryselector('option[value="CA"]'])

<option value='CA'>California</option> would need queryselector('option[value='CA']'])