使用Selenium PHP在无头模式下使用Chrome下载文件

时间:2019-03-10 03:12:36

标签: php selenium google-chrome chromium

我已遵循此question并在互联网上进行了搜索,但似乎仅针对Java,Python和JavaScript有解决方案。

我正在尝试使用Chrome作为Selenium中的WebDriver下载文件,并在启用无头选项的情况下执行该文件。

在此post中检查了JavaScript解决方案之后,我认为使用PHP会非常简单,但是我的Selenium服务器始终返回空响应。

我尝试了不同的方法,包括使用curl来直接启用下载:

$params = [
    'cmd' => 'Page.setDownloadBehavior',
    'params' => [
        'behavior' => 'allow',
        'downloadPath' => 'path/to/documents/'
    ]
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt(
    $curl,
    CURLOPT_URL,
    'http://localhost:4444/wd/hub/session/'.$driver->getSessionID().'/chromium/send_command'
);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($params));

$raw_results = trim(curl_exec($curl));

$this->driver->get('https://example.com/document.pdf');

我收到的回复是:

{"sessionId":"7a724b52a9d52d3c89481345351fea117","status":0,"value":null}

有人能使用Chrome以无头模式下载文件吗?

0 个答案:

没有答案