Selenium Python: невозможно прокрутить окно наложения - PullRequest
0 голосов
/ 03 сентября 2018

На Quora, я хочу прокрутить до нижней части окна, которое я получаю при нажатии на кнопку просмотра upvoters, чтобы получить имена всех upvoters, код для прокрутки вниз по стандартному окну браузера, кажется, не работает с оверлейное окно, есть предложения? Вот мой код для функции прокрутки и нажатия кнопки «Просмотреть upvoters»:

def scrolldown(browser):

    src_updated = browser.page_source
    src = ""
    while  src != src_updated:
        src = src_updated
        time.sleep(5)
        browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")
        time.sleep(5)
        src_updated = browser.page_source      
    #if (DEBUG): print ("window maximized...")
    return browser

browser.get('https://www.quora.com/What-is-it-like-to-regret-having-children')
for p in browser.find_elements_by_class_name('AnswerVoterListModalLink'):
        time.sleep(5)

        p.click()
        time.sleep(5)
        browser=scrolldown(browser)
        time.sleep(5)
        c=0
        for div in upvoter_name :#browser.find_elements_by_class_name('author_info'):
           list_of_upvoters.append(div.find_element_by_class_name('user').text)
           c+=1
        print("number of upvoters for this answer is :" + str(c))

1 Ответ

0 голосов
/ 03 сентября 2018

Я думаю, что вы можете прокрутить вниз до самого последнего элемента, используя что-то вроде этого ответа . Согласно ответу, вы можете прокрутить вниз к последнему элементу примерно так:

from selenium.webdriver.common.action_chains import ActionChains

element = driver.find_element_by_xpath("//div[@class='pagedlist_item'][last()]")

actions = ActionChains(driver)
actions.move_to_element(element).perform()
...