我知道我可以使用Firefox配置文件禁用JavaScript。例如,请参阅Enable/disable javascript using Selenium WebDriver。
但是,我有一个案例需要启用JavaScript以便我登录页面,但是我希望在登录后禁用JavaScript,这样当我{{1}时它返回DOM,好像JavaScript没有运行一样。关键是登录页面需要JavaScript。是否可以在Selenium WebDriver中动态控制JavaScript是打开还是关闭?
答案 0 :(得分:2)
我建议不要动态禁用javascript,因为webdriver的大多数功能都是用javascript编写的,因此有时会产生意想不到的结果。最好使用Firefox配置文件来禁用它,但我编写的代码可以帮助您在运行时禁用它。
WebDriver driver = new FirefoxDriver();
driver.get("about:config");
Actions act = new Actions(driver);
act.sendKeys(Keys.RETURN).sendKeys("javascript.enabled").perform();
Thread.sleep(1000);
act.sendKeys(Keys.TAB).sendKeys(Keys.RETURN).sendKeys(Keys.F5).perform();
如果使用Selenium IDE,您也可以参考:http://thom.org.uk/2006/03/12/disabling-javascript-from-selenium/。