Я начинаю изучать Ruby вместе с селеном и огурцом: я работаю в Ubuntu и использую Firefox в качестве браузера Ubuntu: Описание: Ubuntu 18.04.3 LTS Release: 18.04
Firefox версия: 72.0.1 selenium-webdriver версия: 3.142.7 Ruby версия: 2.5.1p57
Я начал с небольшого простого теста:
require 'rubygems'
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :firefox
driver.get "http://google.com"
element = driver.find_element(name: "q")
element.send_keys "Cheese!"
element.submit
После «Сыр» отправляется на панель поиска, браузер немедленно закрывается.
Я хочу оставить его открытым, что я могу сделать? Я нашел это предлагаемое решение:
caps = Selenium::WebDriver::Remote::Capabilities.firefox(:firefox_options => {detach: true})
driver = Selenium::WebDriver.for :firefox, desired_capabilities: caps
Но когда я добавляю его в свой код, я получаю это предупреждение об устаревании:
2020-01-23 10:12:35 WARN Selenium [DEPRECATION] :firefox_options capabilitiy is deprecated. Use Selenium::WebDriver::Firefox::Options instead.
Я пытался использовать Options, но мне не удалось, потому что я Должно быть, сделал это неправильно. Вот что я сделал
opt = Selenium::WebDriver::Firefox::Options.new
opt.add_preference("detach","true")
caps = Selenium::WebDriver::Remote::Capabilities.firefox(opt)
driver = Selenium::WebDriver.for :firefox, desired_capabilities: caps
Я получаю следующую ошибку:
`firefox': undefined method `key?' for #<Selenium::WebDriver::Firefox::Options:0x000055e1a6c58158> (NoMethodError)