Webbrowser下拉列表已选中

时间:2018-01-29 13:41:47

标签: c# web browser

我无法选择。 我想在下拉列表中选择所需值的数据。

   <div role="combobox" id="rw_71_input" aria-owns="rw_71_listbox" class="rw-dropdown-list rw-widget">
        <div class="rw-widget-input rw-widget-picker rw-widget-container">
            <div class="rw-input rw-dropdown-list-input">Live</div>
            <span class="rw-select">
                <button role="presentational"   class="rw-btn rw-btn-select"><span aria-hidden="true" class="rw-i rw-i-caret-down"></span></button>
            </span></div>
        <div class="rw-popup-container rw-popup-transition-exited">
            <div class="rw-popup-transition">
                <div class="rw-popup"> 
                    <ul id="rw_71_listbox" class="rw-list" role="listbox">
                        <li role="option" aria-selected="true" >Super</li>
                        <li role="option" aria-selected="false" >Live</li>
                        <li role="option" aria-selected="false" >Education</li>
                        <li role="option" aria-selected="false" >Mannas</li>
                    </ul>
                </div>
            </div>
        </div>
    </div>

C#

 webBrowser1.Document.GetElementById("rw_71_listbox").Children[3].SetAttribute("selected", "selected");

2 个答案:

答案 0 :(得分:0)

这是因为你正在设置&#34;选择&#34;和#34;选择&#34;。虽然属性的名称是aria-selected,但值为true或false。未选中。

答案 1 :(得分:0)

试试这个:

HtmlDocument theDoc = webBrowser1.Document; 
var dropdown = theDoc.GetElementById("rw_71_listbox");
var dropdownItems = (HtmlElementCollection)dropdown.Children;
foreach (HtmlElement option in dropdownItems)
{            
    var value = option.GetAttribute("aria-selected").ToString();
    if (value.Equals("true".ToString()))
    {
        option.SetAttribute("aria-selected", "false");
    }
    if (option.OuterHtml.Contains("Mannas"))
    {
        option.SetAttribute("aria-selected", "true");
        break;
    }
}