ChromeDriver Laravel Dusk Set下载文件路径

时间:2018-02-20 14:54:36

标签: php laravel selenium-chromedriver laravel-dusk

大家好想问一下如何设置chromeDriver选项默认路径到特定目录,这样如果使用laravel dusk无头驱动程序下载文件,文件会下载到目录。

提前致谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

$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?