Проблемы инициализации браузера с опциями с использованием Ruby, Watir, Chrome - PullRequest
0 голосов
/ 24 июня 2019

У меня есть несколько веб-скриптов, которые я уже давно использую и которые работают без проблем. Однако из-за какого-то обновления (я думаю, что chrome + chromedriver) браузеры не загружаются с указанными настройками / опциями.

Текущий код:

preferences = { 
  :download => {
    :prompt_for_download => false,
    :directory_upgrade => true,
    :default_directory => 'C:/DownloadFolder/', 
  }   
}   
args = ['--disable-infobars']
browser = Watir::Browser.new :chrome, :chrome_options => {:detach => true, :prefs => preferences, :args => args}

Проблемы, которые я замечаю, состоят в том, что «--disable-infobars» и местоположение папки загрузки не применяются.

ruby ​​версия: 2.3.3p222

версия watir: 6.16.5

версия веб-драйвера Selen: 3.142.3

хромированная версия: 75.0.3770.100

* Хромированный драйвер версии 1015 *: 75.0.3770.90

1 Ответ

0 голосов
/ 25 июня 2019

Получено от помощи, которую я получил в другом месте:

options = Selenium::WebDriver::Chrome::Options.new.tap do |o|
  o.add_argument('--disable-infobars')   
  o.add_preference(:download, directory_upgrade: true,
                              prompt_for_download: false,
                              default_directory: 'C:\\DownloadFolder\\')   
  o.add_option(:detach, true)  
end                       

browser = Watir::Browser.new :chrome, options: options

Две вещи решили проблему. 1 определяет варианты через селен, а не Watir. Другой больше не может использовать одиночные косые черты в путях к папкам.

...