Я работаю с Selenium python и хотел бы прокрутить страницу вниз после нажатия на элемент. При щелчке по элементу появляется всплывающее меню, а затем, когда я пытаюсь прокрутить некоторые методы прокрутки на исходной странице.
Я выбрал тело появившегося нового элемента и попробовал следующее:
from selenium import webdriver
from selenium import Keys
driver = webdriver.get(url)
button = driver.find_element_by_xpath(pathto)
button.click()
body = driver.find_element_by_css('body')
body.send_keys(Keys.PAGE_DOWN)
Это на самом деле ничего не делает как есть. Однако, если я сначала вручную нажму на новый всплывающий элемент, прежде чем делать body.send_keys(Keys.PAGE_DOWN)
, он прокручивается. Один из способов решить эту проблему - использовать ActionChains
, чтобы щелкнуть правой кнопкой мыши тело, прежде чем прокрутить вниз. Непосредственное использование .click()
на теле не работает, так как оно щелкает ссылку в теле.
Есть ли более эффективные способы сделать это? В частности, я несколько боюсь, что меню правой кнопки мыши, которое открывается, когда я использую мой текущий метод, может испортить остальную часть очистки. Есть ли хотя бы способ гарантировать, что он не мешает? Другим решением может быть как-то «выбрать» или щелкнуть элемент body в пределах селена, так есть ли какие-нибудь предложения для этого?