在所有帧中搜索元素
Search elements over all frames
我需要获取在 QWebView 上弹出时显示的元素,但我检索元素的常规方法不适用于此方法。
HTML 看起来像这样(我从 Web Inspector 得到的):
<tr class="normal">
<td>
<a href="javascript:doSOmething(123, lnkCode)">123</a>
</td>
</tr>
我尝试像这样提取的地方:
QWebElement doc = webControl.page()->mainFrame()->documentElement();
QWebElementCollection ahrefs = doc.findAll("tr[class='normal'] a[href*=lnkCode]");
其中 webControl 是 QWebView
类型。正如我提到的,这个 HTML 在弹出窗口中,所以我也尝试了:
QWebElementCollection ahrefs = webControl.page()->mainFrame()->findAllElements("tr[class='normal'] a[href*=lnkCode]");
但都没有返回结果。
您可以尝试递归搜索所有 child frames。据推测,弹出窗口有自己的文档,因此有自己的框架。
我需要获取在 QWebView 上弹出时显示的元素,但我检索元素的常规方法不适用于此方法。
HTML 看起来像这样(我从 Web Inspector 得到的):
<tr class="normal">
<td>
<a href="javascript:doSOmething(123, lnkCode)">123</a>
</td>
</tr>
我尝试像这样提取的地方:
QWebElement doc = webControl.page()->mainFrame()->documentElement();
QWebElementCollection ahrefs = doc.findAll("tr[class='normal'] a[href*=lnkCode]");
其中 webControl 是 QWebView
类型。正如我提到的,这个 HTML 在弹出窗口中,所以我也尝试了:
QWebElementCollection ahrefs = webControl.page()->mainFrame()->findAllElements("tr[class='normal'] a[href*=lnkCode]");
但都没有返回结果。
您可以尝试递归搜索所有 child frames。据推测,弹出窗口有自己的文档,因此有自己的框架。