【发布时间】:2018-05-17 21:07:50
【问题描述】:
我一直在尝试使用 Selenium 的 PHP Webdriver 下载最新版本的 Firefox 文件,但我无法使其正常工作。这是我的 phpunit bootstrap.php 文件中用于 Firefox 的 WebDriver 配置的代码:
$profile = new FirefoxProfile();
$caps = DesiredCapabilities::firefox();
$profile->setPreference('browser.download.folderList', 2);
$profile->setPreference('browser.download.manager.showWhenStarting', false);
$profile->setPreference('browser.download.dir', __DIR__.'/temp');
$profile->setPreference('browser.helperApps.neverAsk.saveToDisk', 'application/pdf');
$caps->setCapability(FirefoxDriver::PROFILE, $profile);
RemoteWebDriver::create('http://localhost:4444/wd/hub', $caps);
其中一些首选项(例如 browser.helperApps.neverAsk.saveToDisk)在 about:config 页面上不存在。我可以手动添加它们,但即使这样做,我也无法在不询问我是否要保存的情况下让 Firefox 将文件下载到特定文件夹。
也许已经不可能了?
谢谢!
【问题讨论】:
-
不要使用
FirefoxProfile,而是使用FirefoxOptions。 -
如果我没记错的话,
FirefoxOptions不存在 ;( -
如果php客户端没有实现,那么直接在capabilities中设置偏好。
-
抱歉我的回复晚了。我无法让它工作。正如你所说,我没有通过
$profile对象传递这些配置,而是使用setCapability将它们直接传递给$caps。 -
使用 FirefoxProfile 类,php web 驱动程序更新 firefox 配置。我检查了 about:config 页面,我有我需要的一切。 (它的工作原理主要是。当我手动保存文件时,Firefox 将其存储在配置的文件夹中)。
标签: php selenium firefox phpunit facebook-php-webdriver