从Qt中Javascript创建的网站下载文件

时间:2018-08-10 13:48:15

标签: javascript c++ qt

幻想足球赛季再次开始,所以我尝试为自己的幻想足球联赛编写自己的选秀助手。我想从FantasyPros抓取信息。有一些表格,我可以将其下载为.csv文件。这些可下载文件是使用脚本创建的。

例如,您拥有以下站点:FantasyPros RBs。 您可以在此处将下表中的信息下载到.csv文件中。如果在源代码中查找,您将获得以下信息:“按钮”定义为

<a href="javascript:;" class="export pull-right"
style="margin:5px;"><i class="fa fa-fp fa-fp-download"></i></a>

并定义了以下脚本功能:

<script type="text/javascript" src="//cdn.fantasypros.com/js/fp-csv-export-1.7.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $(".export").click(function(e) {
        if (regfence(e, "Export CSV")) {
            var csv_filename = 'FantasyPros_Fantasy_Football_Projections_RB.csv';
            exportTableToCSV.apply(this, [$('#data'), csv_filename, 'nfl_projections']);
        }
    });
});
</script>
</script>

我现在的目标是将此文件保存到本地目录(或仅在Qt中读取)以使用提供的数据。我尝试了以下操作,但没有用,我不知道如何获取文件:

view = new QWebEngineView(parent);
view->load(QUrl("https://www.fantasypros.com/nfl/projections/rb.php"));
connect(view,SIGNAL(loadFinished(bool)),this,SLOT(finishLoading(bool)));
void MainWindow::finishLoading(bool) {
    view->page()->runJavaScript("document.getElementsByClassName(\"fa fa-fp fa-fp-download\")[0].click();",[] (const QVariant &v) { qDebug() << v.toString(); });
}

但是什么也没发生。我在做什么错或者还有其他方法来获取该.csv文件?

感谢您的回答和帮助!

0 个答案:

没有答案