Selenium WebDriver(Firefox):动态禁用Javascript

use*_*119 6 javascript firefox selenium

我知道我可以使用Firefox配置文件来禁用JavaScript.例如,请参阅使用Selenium WebDriver启用/禁用javascript.

但是,我有一个案例,我需要启用JavaScript才能让我登录到页面,但是我希望在登录后禁用JavaScript,这样当我这样做时page_source,它会返回DOM,就好像JavaScript还没有运行.关键是登录页面需要JavaScript.在Selenium WebDriver中是否可以动态控制JavaScript是打开还是关闭?

Man*_*anu 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();
Run Code Online (Sandbox Code Playgroud)

如果使用 Selenium IDE,您也可以参考: http://thom.org.uk/2006/03/12/disabling-javascript-from-selenium/ 。