ChromeDriver Laravel Dusk 设置下载文件路径
ChromeDriver Laravel Dusk Set Download File Path
大家好想问一下如何将 chromeDriver 选项的默认路径设置为特定目录,这样如果使用 laravel dusk headless 驱动程序下载文件,文件就会下载到该目录。
提前致谢。
试试这个:
$this->browse(function (Browser $browser) {
$url = $browser->driver->getCommandExecutor()->getAddressOfRemoteServer();
$uri = '/session/' . $browser->driver->getSessionID() . '/chromium/send_command';
$body = [
'cmd' => 'Page.setDownloadBehavior',
'params' => ['behavior' => 'allow', 'downloadPath' => '/your/download/path']
];
(new \GuzzleHttp\Client())->post($url . $uri, ['body' => json_encode($body)]);
$browser->visit('/');
});
将/your/download/path
替换为实际路径。
此示例需要 guzzlehttp/guzzle
包来执行 POST 请求。
还有其他没有外部依赖的解决方案:
How do I send a POST request with PHP?
大家好想问一下如何将 chromeDriver 选项的默认路径设置为特定目录,这样如果使用 laravel dusk headless 驱动程序下载文件,文件就会下载到该目录。
提前致谢。
试试这个:
$this->browse(function (Browser $browser) {
$url = $browser->driver->getCommandExecutor()->getAddressOfRemoteServer();
$uri = '/session/' . $browser->driver->getSessionID() . '/chromium/send_command';
$body = [
'cmd' => 'Page.setDownloadBehavior',
'params' => ['behavior' => 'allow', 'downloadPath' => '/your/download/path']
];
(new \GuzzleHttp\Client())->post($url . $uri, ['body' => json_encode($body)]);
$browser->visit('/');
});
将/your/download/path
替换为实际路径。
此示例需要 guzzlehttp/guzzle
包来执行 POST 请求。
还有其他没有外部依赖的解决方案:
How do I send a POST request with PHP?