在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();
}