0

Qt に付属している DOM Traversal の例を修正しています。ただし、リンクが表示されるたびに、その URL に「移動」し、その DOM もトラバースしたいのですが、GUI をリロードしたくありません。今でも例のコードを使用してホームページを取得しています。

void Window::on_webView_loadFinished()
{
    treeWidget->clear();

    QWebFrame *frame = webView->page()->mainFrame();
    QWebElement document = frame->documentElement();

    examineChildElements(document, treeWidget->invisibleRootItem());
}

これはうまくいきます。inspectChildElements() では、特定のリンクに遭遇すると、その URL を使用して別の関数を呼び出します (URL 文字列を確認しましたが、正しいです)。

void Window::parse_page(QString page_URL)
{
    QWebView *innerPage = new QWebView();
    innerPage->setUrl(page_URL);
    QWebFrame *frameInner = innerPage->page()->mainFrame();
    QWebElement documentBetrieb = frameInner->documentElement();

    get_biz_info(documentBetrieb);
    delete innerPage;
    return;
}

しかし、このドキュメント (documentBetrieb) をたどると、HTML タグしかありません。QWebView を使用せずに QWebElement に URL から直接 DOM を配置する方法、または行方不明のステップはありますか?

4

1 に答える 1