【发布时间】:2018-04-14 11:08:59
【问题描述】:
我正在无头使用 Chrome。
我尝试设置--disable-javascript 命令行参数。
我尝试使用实验选项:
$options->setExperimentalOption('prefs', [
'profile.managed_default_content_settings.javascript' => 2//this does not work
//,'profile.default_content_setting_values.javascript' => 2//this does not work, too
]);
$capabilities = DesiredCapabilities::chrome();
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
到目前为止,这两个都不起作用。
如何使用 Facebook PHP Webdriver 在 Chrome 中禁用 javascript?
这是一个检查 JavaScript 是否启用的测试:
$this->driver->get('https://www.whatismybrowser.com/detect/is-javascript-enabled');
return [
$this->driver->getTitle(),
$this->driver->findElement(WebDriverBy::cssSelector('.detected_result'))->getText()
];
【问题讨论】:
-
我用首选项尝试了您的示例,并且 javascript 按预期禁用(Win10、Chromium 62、驱动程序 2.33)。另一个是
'profile.content_settings.exceptions.javascript.*.setting' => 2。确保您没有任何政策 (chrome://policy/) 覆盖您的偏好。 -
感谢@FlorentB。在 Windows 上检查它。很高兴知道它有效。自从我开始使用 Firefox 已经快一个月了。我目前只有一个 Seelenium 设置(Ubuntu 16.04 Vagrant box)。稍后我将使用 GUI 启动一些 Ubuntu 16.04 以检查默认的
chrome://policy/。是否有可能在全新的 Chrome 安装中有一些默认的proxy策略设置?我的意思是......这是一个全新的非 X11 安装,全新的 Chrome 安装,无头运行浏览器......并且这些设置都不起作用。我只能尝试*一个。以后再写…… -
@Boris D. Teoharov,当前不支持在 Chrome 无头启动时禁用 JavaScript。根据这张票,它不会加载首选项:bugs.chromium.org/p/chromium/issues/detail?id=775911#c7
-
@FlorentB。看来这回答了我的问题。请在下面添加答案,以便我给你赏金。
标签: javascript php google-chrome selenium ubuntu-16.04