使用 selenium 时如何禁用 Firefox 中的附加组件

2023-11-22

我在我的 Rails 项目(在 Ubuntu 10.04 系统上)中使用 Capybara selenium,现在我刚刚升级了 Firefox,当我运行我的测试时,Firefox 会加载,但它现在已经安装了所有附加组件,并且会等待我设置每个都是第一次。

有没有办法在启动 selenium 时禁用所有这些附加组件?

OR

有没有办法设置我的所有附加组件并保存设置,这样它就不会在每次运行测试时提示我?

Update

如果我将其更改为使用 Chrome,它就可以正常工作。

 Capybara.register_driver :selenium do |app|
   Capybara::Selenium::Driver.new(app, :browser => :chrome)
 end

 Capybara.javascript_driver = :selenium

不过我想用 firefox 进行测试。我已经在 Firefox 下设置了一个“测试”配置文件,并尝试将其与以下内容一起使用:

Capybara.register_driver :selenium_firefox_custom do |app|
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => "test")
end

Capybara.default_driver = :selenium_firefox_custom

这不起作用,它仍然尝试加载我的默认配置文件。

我使用的是 git 版本的 capybara;

capybara (1.1.2)
  mime-types (>= 1.16)
  nokogiri (>= 1.3.3)
  rack (>= 1.0.0)
  rack-test (>= 0.5.4)
  selenium-webdriver (~> 2.0)
  xpath (~> 0.1.4)

我也尝试过使用 Capybara.javascript_driver = :selenium_firefox_custom


如果您不想创建必须维护的配置文件(例如:签入源代码管理等),您可以按如下方式动态创建配置文件:

Capybara.register_driver :selenium_firefox do |app|
  profile = Selenium::WebDriver::Firefox::Profile.new
  profile["extensions.update.enabled"] = false
  profile["app.update.enabled"] = false
  profile["app.update.auto"] = false
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
end

Capybara.default_driver = :selenium_firefox

这将动态创建一个配置文件,不会更新浏览器版本或扩展。希望有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 selenium 时如何禁用 Firefox 中的附加组件 的相关文章

随机推荐