Как прокрутить вниз, если в браузере есть несколько окон с полосами прокрутки, использующими python selenium - PullRequest
1 голос
/ 04 мая 2019

Итак, после нажатия кнопки всплывающее окно (на картинке) всплыло, и в нем есть 2 элемента с полосами прокрутки. Я хочу прокрутить вниз по основному, правому элементу.

browser.execute_script("window.scrollBy(0, 10000)","")

Эта строка кода не работает. Это не выдало ошибку, но это не имело никакого эффекта.

1 Ответ

2 голосов
/ 04 мая 2019

Вот логика для прокрутки и выполнения операций над каждой строкой.

driver.find_element_by_xpath("(//div[@clas='pagec_list_wrapper]/div[@class='pagelist_item])[last()]").location_once_scrolled_into_view
time.sleep(2)
driver.find_element_by_xpath("(//div[@clas='pagec_list_wrapper]/div[@class='pagelist_item])[last()]").location_once_scrolled_into_view

# get the number of rows
rows = driver.find_elements_by_xpath("//div[@clas='pagec_list_wrapper]/div[@class='pagelist_item]")
# now you can access each row here in for loop
for rowNumber in range(len(rows)):
    # scroll to the row
    driver.find_element_by_xpath("(//div[@clas='pagec_list_wrapper]/div[@class='pagelist_item])[" + str(rowNumber+1) "]").location_once_scrolled_into_view
    # if you want to click on the button (+) for that user
    driver.find_element_by_xpath("((//div[@clas='pagec_list_wrapper]/div[@class='pagelist_item])[" + str(rowNumber+1) "]//span[@class='ui_button_icon'])[1]").click()
    # you can use row element for any action with in the row
    row.xxxxxx
...