I am new to Qt.
I am building a console application and I need to process lot of real world html pages. QtWebkit comes as an easy choice because of clearly cut APIs and easy availability.
I checked out the docs and they say that I can load pages by using QWebView::load(). But I am building a console application and I cannot use a widget. I get the error as: ?
QWidget: Cannot create a QWidget when no GUI is being used
The program has unexpectedly finished.
So how can I process the html pages using QtWebkit in console application.
QWebPage
can be used in a widget-less environment.To load a page, do something like this
To get access to the DOM tree, you can use
QWebFrame::documentElement()
. See the API for how to use this.QtWebkit can be used in a widget-less environment, but can't be executed with QCoreApplication.
The solution is to use a fake X server to execute the program.
Install Xvfb and then:
PD: Using framecapture Webkit example from docs: http://doc.qt.io/archives/qt-4.7/webkit-framecapture.html