ruby - 使用 Capybara Selenium 为 Chrome 禁用 Javascript

标签 ruby selenium-webdriver capybara

我想知道是否有办法在带有 Capybara 的 Chrome 中使用 Selenium-webdriver 为某些测试禁用 Javascript。

我有以下内容:

Capybara.register_driver :selenium do |app|

  opts = Selenium::WebDriver::Chrome::Options.new
  opts.add_argument '--start-maximized'
  opts.add_argument '--disable-infobars'
  opts.add_argument '--disable-features'
  Capybara::Selenium::Driver.new(app, browser: :chrome, options: opts)
end
Capybara.default_driver = :selenium

但我认为 --disable-javascript 现在不起作用。

我试图找到一个替代方案,但并不愉快。

有人能解决吗?

最佳答案

我认为无法为 selenium-webdriver 禁用 js,但是,您可以只使用 :rack_test。代替司机。

来自 capybara 文档:

By default, Capybara uses the :rack_test driver, which is fast but limited: it does not support JavaScript,

所以在你的情况下它可以是:

it "test description", driver: :rack_test do
  ...
end

关于ruby - 使用 Capybara Selenium 为 Chrome 禁用 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46175332/

相关文章:

ruby - 如何在 ruby​​ 中的特定行开始读取大文件

c# - 在语法上是否需要不同的打开和关闭定界符?

c# - Selenium 等待元素等于某物

python - pyinstaller 生成巨大的文件

ruby-on-rails - 如何测试局部是否在 erb、rspec 和 capybara 中渲染图像?

ruby - 使用 Prawn Ruby 库时的当前光标位置

ruby - 使用 Ruby 按值过滤 JSON 数组

node.js - 未处理的PromiseRejection警告: NoSuchSessionError: invalid session id selenium webdriver

javascript - 为什么Capybara/Rspec在Sweet Alert Modal中找不到按钮,但have_selector返回true?

ruby-on-rails - 如何解决 Capybara::ElementNotFound 错误