如何使用PHP Webdriver在Chrome中禁用Javascript(-headless)

我无头地使用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://www.cnblogs.com/mini-monkey/p/12104821...
web自动化测试过程中页面截图相对比较简单,可以直接使用sel...
目录前言一、Selenium简介二、浏览器驱动1.浏览器驱动参考2....
一、iframe的含义:iframe是HTML中框架的一种形式,在对界面...
转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.to...
'''##**认识selenium**​**下载:pipinstall...