Почему в Selenium Webdriver нет функции прокрутки вниз / вверх? - PullRequest
0 голосов
/ 28 марта 2019

Каждая реализация прокрутки, которую я видел, требует выполнения Javascript (scrollTop, scrollTo, например), а не доступного метода в Selenium Webdriver для выполнения этого действия.Поскольку Webdriver предназначен для выполнения в браузере тех же взаимодействий, что и пользователь, почему бы его нигде не найти?

Я понимаю, что использование Webdriver для взаимодействия с элементом в DOM избавляет от необходимости прокручивать элементыоднако некоторые библиотеки, такие как ReactVirtualized, предназначены только для визуализации видимых строк, что значительно усложняет автоматизацию.

1 Ответ

1 голос
/ 28 марта 2019

Используете ли вы Capybara (так как ваш вопрос помечен) или селен-вебдрайвер напрямую?

Если вы используете Capybara, то вам нужен метод scroll_to - https://www.rubydoc.info/gems/capybara/Capybara/Node/Element#scroll_to-instance_method - который был недавно добавлен.

Если вы используете selenium-webdriver напрямую, это потому, что в течение долгого времени некоторые авторы спецификации WebDriver настаивали на том, что прокрутка не нужна.Эта настойчивость изменилась на последнем собрании спецификаций WebDriver, но подробности о том, как должна работать прокрутка, еще не были добавлены в спецификацию.

...