mouse_move_to УСТАРЕВШИЙ рубиновый селеновый огурец

Я новичок в Selenium и хочу навести курсор на кнопку «Категория», а затем щелкнуть подкатегорию в раскрывающемся списке. Раньше я использовал команду «mouse_move to», но теперь она говорит: ПРЕДУПРЕЖДЕНИЕ Selenium [DEPRECATION] Driver#mouse устарел. Вместо этого используйте driver.action..perform. Я попробовал этот код, заменив «мышь» на «действие» и «щелкнуть» на «выполнить», но он не работает.

 element = $driver.find_element :xpath => "//span[@class = 'ls_2px' and text() = 'Accessories']"
  $driver.mouse.move_to element
 element = $driver.find_element :xpath => "(//div[@class = 'vt'][.//a[text() = 'View All']]//a[0])"
  element.click
 end

Нужно ли добавлять WebDriver::W3CActionBuilder в мой файл env? У меня есть только это:

require 'rubygems'
require 'selenium-webdriver'
require 'cucumber'
$driver = Selenium::WebDriver.for :chrome
$dropdown = Selenium::WebDriver::Support::Select

person NE7    schedule 25.11.2018    source источник
comment
Привет! Не используйте SeleniumBinding напрямую. Если вы хотите использовать Ruby Binding, используйте WATIR, который является оболочкой для Selenium Ruby Binding. И попробуйте это в WATIR, если после этого у вас возникнут вопросы, опубликуйте вопрос, используя тег WATIR.   -  person Rajagopalan    schedule 25.11.2018
comment
Для Ruby я бы рекомендовал использовать Capybara, которую можно использовать с различными драйверами, включая селен. Он имеет гораздо более простые методы для большинства веб-действий.   -  person diabolist    schedule 26.11.2018


Ответы (1)


driver.action.move_to(element).perform должен работать в этом случае для Hover.

Ресурс: Класс: Selenium::WebDriver ::ActionBuilder - move_to

person rs007    schedule 13.12.2018