【问题标题】:Selenium WebDriver (Firefox): dynamically disable JavascriptSelenium WebDriver (Firefox):动态禁用 Javascript
【发布时间】:2015-09-05 20:52:36
【问题描述】:

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

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

【问题讨论】:

    标签: javascript firefox selenium


    【解决方案1】:

    我建议不要动态禁用 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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      相关资源
      最近更新 更多