@andrey13879

Как можно осуществить скролл внутри всплывающего окна с помощью Selenium webdriver?

63f63f6c64b1a623608474.png
нужно осуществить скролл внутри окна 'Подписчики'

driver.execute_script("window.scrollTo(0, 2080)") - не сработало, а других способов не знаю. Помогите, пожалуйста.
  • Вопрос задан
  • 449 просмотров
Решения вопроса 1
@utsiye
driver.execute_script("arguments[0].scrollTop = arguments[0].scrollHeight", element)

Вместо element - ваш элемент, можно найти как обычно, через XPATH и т.д.
Только оно прокрутит 1 раз, пока подписчики не начнут прогружаться. Вам нужно разделить нацело кол-во подписчиков на 12, тогда, вы получите кол-во прокручиваний.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@PySher
from selenium import webdriver

driver = webdriver.Chrome()

# открыть всплывающее окно
driver.execute_script("window.open('https://www.example.com', 'myPopup', 'width=400,height=400');")

# переключиться на всплывающее окно
driver.switch_to.window("myPopup")

# проскроллить всплывающее окно на 100 пикселей вниз
driver.execute_script("window.scrollBy(0, 100);")
Ответ написан
@Yanisselection
Возможно кому-то поможет, при подобной сложности я использовал эмуляция курсора мыши
Из официальной документации

from selenium.webdriver import ActionChains

hoverable = driver.find_element(By.ID, "hover") #Находим элемент по ID | XPATH | Другой
ActionChains(driver).move_to_element(hoverable).perform() #Имитируем мышку

#Сама прокрутка окна
driver.execute_script("arguments[0].scrollBy(0, 1500);", hoverable)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы