我无头地使用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的执行:
"webkit.webprefs.javascript_enabled": false
"profile.content_settings.exceptions.javascript.*.setting": 2
"profile.default_content_setting_values.javascript": 2
"profile.managed_default_content_settings.javascript": 2
但是,由于此模式doesn’t load the preferences并且没有与此功能相关的command switch,因此目前无法无头支持.
请注意,禁用用于破坏Selenium的JavaScript,因为大多数命令都是在页面中注入的原子脚本.现在不再是这样了.所有命令都能够运行.但是我注意到返回的文本不包含来自< noscript>的文本. element(仅在禁用JavaScript时显示的文本).一种解决方法是使用execute_script或get_attribute读取innerText
属性.
原文地址:https://codeday.me/bug/20190622/1263802.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。