使用webBrowser中的c#调用后,在表中收集元素

时间:2018-09-02 14:49:01

标签: c# click element invoke

在webBrowser中使用C#调用click事件后如何收集表中的元素。

我用来触发点击的语法命令是:

webBrowser1.Document.GetElementById("addressSearchButton").InvokeMember("Click");

他们将结果放入ID为:address-details的表中

在点击搜索之前,这里是HTML的片段:

<div id="search-result-outer" style="width: 100%">
<div id="search-result">
</div>

并在搜索后单击:

<div id="search-result-outer" style="width: 100%">

<div id="search-result">
        <div id="search-header">
            <h2>Search results</h2>
        </div>
        <div id="manage-addresses">
                <div id="address-details_wrapper" class="dataTables_wrapper" role="grid">
                    <div class="fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix">...</div>
                    <table id="address-details" class="address-details dataTable" aria-describedby="address-details_info">...</table>
                    <div class="fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix">...</div>                      
                </div>
            </div>
        </div>
</div>

问题是:如何等待结果出来,然后开始收集结果元素?

调用表格后,我无法直接获得结果,因为表格尚未出来。

我试图等待使用ReadyState.Complete,但没有希望。

while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
        {
            Application.DoEvents();
        }

我也尝试使用循环检查result元素,但这会使webBrowser卡住。

while (webBrowser1.Document.GetElementById("address-details") == null)
{ 
Application.DoEvents(); 
}

0 个答案:

没有答案