QWebView->QWebPage->QWebFrame->evaluateJavaScript returned data
Hello,
I am trying to get a list of images from a page. I got as far as downloading the page and running some JavaScript on it. However the returned data is not what I was expecting. I call this:
Code:
QVariant listOfImages
= webView.
page()->mainFrame
()->evaluateJavaScript
("document.getElementsByTagName(\"img\")");
qDebug() << listOfImages;
The console window shows:
Debug: QVariant(QVariantMap, QMap(("length", QVariant(double, 20) ) ) )
Anybody know how I can extract the list of images?
Re: QWebView->QWebPage->QWebFrame->evaluateJavaScript returned data
Ok,
So I took another route:
Code:
QVariant listOfImages
= webView.
page()->mainFrame
()->evaluateJavaScript
("document.getElementsByTagName(\"img\").length;");
double numberOfImages = listOfImages.toDouble();
then:
Code:
for (double i = 0; i < numberOfImages; ++i)
{
srcOfImages
= webView.
page()->mainFrame
()->evaluateJavaScript
(QString("document.getElementsByTagName(\"img\")[%1].src;").
arg(i
));
imageUrl = srcOfImages.toString();
}
Job done.
Re: QWebView->QWebPage->QWebFrame->evaluateJavaScript returned data
that's a neat trick but it feels dirty! Have you found any cleaner alternatives since then?
Also what about background images referenced in CSS?