Изменить значение выбора html-формы ( Awesomium VB.net )

#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']'])