#html #vb.net #select #awesomium
#HTML #vb.net #выберите #awesomium
Вопрос:
Управление веб-браузером:
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:
Ваш последний вариант выглядит так, как будто он должен работать, за исключением того, что вы не можете установить текстовое значение в выбранное index…it принимает только целые числа, поэтому вам нужно знать индекс NL, чтобы выбрать его таким образом. Если вы не знаете индекс, вам придется либо перебрать параметры выбора и найти его, либо попробовать использовать queryselector . Если вы знаете значение параметра выбора, используйте это:
WebControl1.ExecuteJavascript("document.querySelector('option[value='NL']').selected = true;")
Обратите внимание, что приведенный выше код выполняет поиск значений, а не текста … а также часть ‘NL’ должна точно соответствовать тому, что находится в select, включая одинарные или двойные кавычки. Например:
<option value="CA">California</option> would need queryselector('option[value="CA"]'])
и
<option value='CA'>California</option> would need queryselector('option[value='CA']'])