如何使用Selenium(Java)在浏览器中禁用JavaScript?
在我的function自动化中,我需要在浏览器中禁用JavaScript并运行流程。 如何禁用JavaScript?
试过firefox和Chrome的DesiredCapabilities。
DesiredCapabilities dc = new DesiredCapabilities(); dc.setCapability(CapabilityType.SUPPORTS_JAVASCRIPT, false)
和
DesiredCapabilities dc = new DesiredCapabilities(); dc.setJavascriptEnabled(false);
对于firefox,尝试过1)为firefox设置配置文件
2)添加附加组件 – noScript.xpi
3)profile.setPreference(“javascript.enabled”,false);
4)通过UI,尝试将标志 – “about:config”中的“javascript.enabled”更改为false。 在这里,打开firefox并给出“about:config”警告 – “这可能会使您的保修失效!”。 有一个按钮 – “我会小心的,我保证!” id – warningButton。 应单击此按钮以继续。 要单击此按钮,请使用driver.findElement(By.id(“warningButton”))。click(); 但它不起作用。
以上所有选项均无效。 任何建议都会有所帮助。
您可以使用包含许多选项的配置文件更改首选项值:
DesiredCapabilities capabilities = new DesiredCapabilities(); // setCapability(SUPPORTS_JAVASCRIPT, javascriptEnabled); capabilities.setJavascriptEnabled(false); FirefoxBinary binary = new FirefoxBinary( new File( binaryPath ) ); FirefoxProfile profile = new FirefoxProfile(); //profile.setPreference("preferenceName", "Value"); profile.setPreference("javascript.enabled", false); RemoteWebDriver driver = new FirefoxDriver(binary, profile, capabilities);
要查看首选项,您可以访问以下URL about:config
@看到
- Chrome驱动程序可禁用JavaScript问题
- 铬的命令行开关
根据Selenium 3.6 Java Client Release
,在浏览器中禁用Javascript
的最简单方法是将DesiredCapabilities
的setJavascriptEnabled
参数设置为False
,并将其与FirefoxOptions
合并,如下所示:
package demo; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.remote.DesiredCapabilities; public class Q46883024_setJavascriptEnabled { public static void main(String[] args) { System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe"); DesiredCapabilities dc = new DesiredCapabilities(); dc.setJavascriptEnabled(false); FirefoxOptions op = new FirefoxOptions(); op.merge(dc); WebDriver driver = new FirefoxDriver(op); driver.get("https://google.com"); driver.quit(); } }
执行时,您使用的浏览器可能会覆盖
setJavascriptEnabled
设置。
- Firefox错误:使用Java启动Selenium 3.0.1驱动程序时“您的连接不安全”
- 如何使用Selenium webdriver和Java为firefox设置代理?
- 如何调试Firefox警报框自动关闭并且无法检测Serenity BDD中的警报?
- selenium能处理自动完成吗?
- 使用BrowserMobProxy,Selenium,Firefox,marionette / gecko获取请求和响应
- 使用Selenium WebDriver未检测到Firefox警报框
- Firefox selenium webdriver提供“不安全连接”
- Firefox浏览器没有打开selenium webbrowser代码
- Selenium / Firefox:命令“.click()”不适用于找到的元素