我已遵循此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以无头模式下载文件吗?