Веб-браузер управления HTMLDocument автоматизировать выбор выбора раскрывающегося списка

13
задан CWinKY 28 February 2010 в 15:40
поделиться

5 ответов

Предположим, у вас есть следующий выбор в HTML:

<select id="term_id" size="1" name="p_term_in">
    <option value="">Select Another Term
    <option value="201050">Summer 2010
    <option value="201010">Spring 2010
    <option value="200980">Fall 2009
</select>

Это должно позволить вам предварительно выбрать третье значение:

webBrowser1.Document.GetElementById("term_id").SetAttribute("value", "201010");
16
ответ дан 1 December 2019 в 19:01
поделиться

Вам нужно будет выбрать атрибут selected в нужной вам опции.

Дано:

<select id="mySelect">
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>

Следующий вариант выбрал бы третий вариант:

webBrowser1.Document
           .GetElementById("")
           .Children.GetElementsByName("option")[2]
           .SetAttribute("selected", "selected");
5
ответ дан 1 December 2019 в 19:01
поделиться

попробуйте следующее:

добавьте ссылку на microsoft.mshtml в проект -> добавьте ссылку ...

    Dim cboTemp As mshtml.HTMLSelectElement
    cboTemp = WebBrowser1.Document.GetElementById("myselect").DomElement
    cbotemp.selectedindex = 2

установив для переменной cbotemp значение Элемент select дает вам больший доступ к элементу управления :)

4
ответ дан 1 December 2019 в 19:01
поделиться
HtmlElement hField = webBrowser1.Document.GetElementById("ID");  
hField.SetAttribute("selectedIndex", "2");  

select by index (zero based) not the value....

3
ответ дан 1 December 2019 в 19:01
поделиться
var select = webBrowser.Document.GetElementById("ddlProyectos");

mshtml.HTMLSelectElement cbProyectos = select.DomElement as mshtml.HTMLSelectElement;

var total = cbProyectos.length;
for (var i= 0; i < total; i++)
{
    cbProyectos.selectedIndex = i;
    if (cbProyectos.value.Contains("13963"))
    {
        break;
    }

}
//cbProyectos.selectedIndex = 4;
select.InvokeMember("onchange");

select.Children[4].SetAttribute("selected", "selected");

var theElementCollection = webBrowser.Document.GetElementsByTagName("select");
foreach (HtmlElement el in theElementCollection)
{
    if (el.GetAttribute("value").Equals("13963"))
    {
        el.SetAttribute("selected", "selected");
        //el.InvokeMember("click");
    }
}
6
ответ дан 1 December 2019 в 19:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: