Как прокручивать модальное поле в Selenium Python?

#javascript #jquery #python-3.x #selenium #selenium-webdriver

#javascript #jquery #python-3.x #селен #selenium-веб-драйвер

Вопрос:

Когда я нажимаю на ссылку, чтобы принять Условия и Положения, появляется модальное окно. Мне нужно прокрутить модальное всплывающее окно вверх вниз, включить кнопку «Принять» и затем нажать «Принять».

Я не могу прокрутить модальное поле.

Я пытался:

 context.driver.execute_script("arguments[0].scrollIntoView(true);", ars)
 

Где ars — последний элемент во всплывающем окне. Это показывает последний элемент ars в модальном без прокрутки вниз.

Я тоже пытался:

 actions = ActionChains(context.driver)
actions.move_to_element(ars)
 

Это имеет то же поведение: показывает последний элемент ars в модальном без прокрутки вниз.

Любые другие способы прокрутки вниз высоко ценятся. TIA

Комментарии:

1. Обновите вопрос с помощью соответствующего текстового HTML-кода.

Ответ №1:

Сначала попробуйте найти новый iframe, который содержит имя модального поля. modal_box = driver.find_element_by_xpath(‘/html/body/div[2]/div …..’) driver.execute_script(«аргументы [0].scrollTop = аргументы[0].Высота прокрутки», modal_box) Убедитесь, что оно прокручивается по всей высоте. Затем попытайтесь найти видимость кнопки «Принять»

Комментарии:

1. Спасибо Karthik за ваш ответ! На этой странице нет фреймов для переключения. Но я могу найти элемент модального поля. С этим элементом я попробовал несколько вариантов прокрутки, но ничего не получилось.

2. Я попробовал driver.execute_script(«аргументы [0].scrollTop = аргументы [0].Высота прокрутки», modal_box) driver.execute_script(«аргументы [0].Высота прокрутки», modal_box) Можете ли вы предложить какие-либо другие варианты прокрутки.