QtWebkitを使用したシンプルなQtGUIアプリケーションがあります。ネストされたIFRAMEタグがたくさんある複雑なページを読み込んでいます。そして、iframeのコンテンツを含む完全なDOMツリー(Chromeブラウザーがデバッグパネルで行うように)をトラバースしたいと思います。
私のコードは次のとおりです。
QWebElement doc = ui->webView->page()->mainFrame()->documentElement();
QWebElement iframe = doc.findFirst("iframe[id=someid]");
QWebFrame *webFrame = ....? // how to get the QWebFrame for an iframe/frame QWebElement?
注:すべてのフレーム(ネストされたものを含む)をトラバースできます:
void MainWindow::renderFramesTree(QWebFrame *frame, int indent)
{
QString s;
s.fill(' ', indent * 4);
ui->textLog->appendPlainText(s + " " + frame->frameName());
foreach (QWebFrame *child, frame->childFrames())
renderFramesTree(child, indent + 1);
}
しかし、私の質問はそれについてではありません。iframe-QWebElementの対応するQWebFrame*を取得する必要があります。
ありがとう!