在所有帧中搜索元素

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。据推测,弹出窗口有自己的文档,因此有自己的框架。