Qt получить DOM со страницы без обновления GUI

Я модифицирую пример DOM Traversal, который поставляется с Qt. Однако всякий раз, когда я вижу ссылку, я хочу «перейти» на этот URL и также просмотреть его DOM, но я не хочу перезагружать GUI. Прямо сейчас я все еще использую код из примера, чтобы получить домашнюю страницу:

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

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

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

Это прекрасно работает. В examChildElements (), когда я сталкиваюсь с определенной ссылкой, я затем вызываю другую функцию с 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. Есть ли пропущенный шаг или способ поместить DOM из URL-адреса непосредственно в QWebElement без использования QWebView?

0

Решение

Вы уверены, что setUrl () загружает URL-адрес синхронно? Я полагаю, вам нужно прослушать сигнал QWebView :: loadFinished (bool ok) перед доступом к DOM.

0

Другие решения


По вопросам рекламы [email protected]