如何在 QWebEngineView 中获取原始答案数据?

How get raw answer data in QWebEngineView?

下一个示例适用于小 html 页面,但如果页面 return 大 html 数据或 json

则不起作用

我在 loadFinished 信号后尝试这个

    view->page()->toHtml([cc](const QString &result){
        qDebug() << "result ready";
        qDebug() << "result string ="<<result;
    });

我看到了 "result ready",但是第二个字符串没有打印出来,我也试试这个:

    v->page()->runJavaScript("function jsfun(){return document.getElementsByTagName('html')[0].outerHTML;};");
    //v->page()->runJavaScript("alert(jsfun())"); //work correctly
    v->page()->runJavaScript("jsfun();",[this](const QVariant &v) {
        qDebug() << "result ready";
        qDebug() << "result string ="<<v.toString();
    });

但还是看不到第二个字符串

所有示例都可以正常工作,但是如果缓冲区很大qDebug不打印数据,您可以将数据写入文件或打印部分数据

示例(在 loadFinished 信号后调用 toHtml):

view->page()->toHtml([cc](const QString &result){ 
    QFile file("outerHTML.html");
    if(!file.open(QFile::WriteOnly | QFile::Text)){
         qDebug() << "Cannot create a file";
         return;
    }
    QTextStream stream(&file);
    stream << buff;
    file.close();
}