ChromeDriver Ruby禁用图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ChromeDriver Ruby禁用图像相关的知识,希望对你有一定的参考价值。

有没有办法用红宝石禁用Chromedriver中的图像?有一个类似的问题,但它处理C#,我不完全确定如何将它移植到ruby。

Disable images in Selenium ChromeDriver

答案

看起来需要将哈希发送到“profile.default_content_settings”Chrome配置文件设置。我会尝试这样的事情:

profile = Selenium::WebDriver::Chrome::Profile.new
profile["profile.default_content_settings"] = { :images => '2' }

@driver = Selenium::WebDriver.for(:chrome, :profile => profile)
另一答案

对于任何遇到这个并使用chrome无头的人来说,这里是如何禁用图像。

options = Selenium::WebDriver::Chrome::Options.new(args: ['headless', '--blink-settings=imagesEnabled=false'])
@driver = Selenium::WebDriver.for(:chrome, options: options)
另一答案

自从@bbbco添加他的答案后,要设置的标志已经改变。正确的标志是:"profile.managed_default_content_settings.images"制作工作代码:

profile = Selenium::WebDriver::Chrome::Profile.new
profile["profile.managed_default_content_settings.images"] = 2

@driver = Selenium::WebDriver.for(:chrome, :profile => profile)
另一答案

禁用通知和图片:

Capybara.register_driver :selenium_chrome do |app|
  prefs = { "profile.managed_default_content_settings.notifications" => 2 }

  caps = Selenium::WebDriver::Remote::Capabilities.chrome(chrome_options: { prefs: prefs })

  profile = Selenium::WebDriver::Chrome::Profile.new
  profile["profile.default_content_settings"] = { :images => '2' }

  options = Selenium::WebDriver::Chrome::Options.new(args: ['headless', '--blink-settings=imagesEnabled=false'])

  Capybara::Selenium::Driver.new(
    app,
    browser: :chrome,
    desired_capabilities: caps,
    profile: profile,
    options: options
  )
end

以上是关于ChromeDriver Ruby禁用图像的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 chromedriver selenium 禁用定位服务?

ChromeDriver - 在 Selenium WebDriver 自动化上弹出禁用开发者模式扩展

ruby 我感兴趣的库中的代码片段

在我的应用程序中禁用多指触摸[重复]

如何禁用在android片段类中按下的后退按钮

在 Firebase 中禁用自动活动跟踪