javascript - Selenium 网络驱动程序(火狐): dynamically disable Javascript

标签 javascript firefox selenium

我知道我可以使用 Firefox 配置文件来禁用 JavaScript。例如,参见 Enable/disable javascript using Selenium WebDriver .

但是,我有一种情况,我需要启用 JavaScript 才能登录页面,但我希望在登录后禁用 JavaScript,这样当我执行 page_source ,它返回 DOM,就好像 JavaScript 没有运行一样。关键是登录页面需要 JavaScript。是否可以在 Selenium WebDriver 中动态控制 JavaScript 的开启或关闭?

最佳答案

我建议不要动态禁用 javascript,因为 webdriver 的大部分功能都是用 javascript 编写的,因此有时可能会产生意想不到的结果。最好使用 Firefox Profiles 来禁用它,但我已经编写了可以帮助您在运行时禁用它的代码。

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/

关于javascript - Selenium 网络驱动程序(火狐): dynamically disable Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30945480/

相关文章:

css - 无法使用 watir-webdriver 单击按钮

testing - Selenium 使用 xpath 字符串选择下拉元素

php - firefox 6中有哪些方法可以篡改cookies?

javascript - IndexedDB 和多对多关系

javascript - Babel 需要钩子(Hook)

javascript - 如何播放 Html 格式的视频

sqlite - Firefox 扩展 SQLite 保存和获取

css - 为什么 chrome 打印/预览中 div 的 100% 高度不起作用?

javascript - fork 的驱动程序实例永远不会退出

javascript - 如何在语义 ui 数据表中对齐页面长度、导出按钮和搜索栏?