使用Selenium和Chrome驱动程序下载文件后,如何获取文件名?
该站点避免了该问题,但提供了一些简单案例的示例:http : //ardesco.lazerycode.com/index.php/2012/07/how-to-download-files-with-selenium-and-why-you-shouldnt/
我的链接是一个JavaScript链接,它会弹出一个新窗口并自动下载文件,并且文件名是在服务器上动态生成的。
该站点建议更改下载位置,但对于Firefox:http : //elementalselenium.com/tips/2-download-a-file
它列出了所有命令行选项,但没有一个用于设置下载过滤器:http : //www.ericdlarson.com/misc/chrome_command_line_flags.html
这个问题表明您可以更改目录,但是答案是Java格式,不适用于PHP:Chrome Web驱动程序下载文件
我尝试了以下操作,但出现了错误:
$options = new ChromeOptions();
$options->setExperimentalOption('download.default_directory', '\\temp');
$capabilities = DesiredCapabilities::chrome(); // htmlUnitJS()
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = RemoteWebDriver::create($host, $capabilities, 5000);
PHP致命错误:未捕获的异常'UnknownServerException',消息为'未知错误:无法解析功能:chrome来自未知错误的选项:无法识别的chrome选项:download.default_directory
可能相关:https : //groups.google.com/forum/#! topic/ macenterprise/ cmSKIyzjQA8 https://github.com/facebook/php-webdriver/wiki/ChromeOptions
我将其更改为此,并且有效。它不喜欢\temp
路径,它需要一个关联数组。
$options = new ChromeOptions();
$prefs = array('download.default_directory' => 'c:/temp/');
$options->setExperimentalOption('prefs', $prefs);
$capabilities = DesiredCapabilities::chrome(); // htmlUnitJS()
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = RemoteWebDriver::create($host, $capabilities, 5000);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句