滚动到页面Python的最底部

时间:2017-07-04 22:59:34

标签: python selenium-webdriver scroll

滚动方法有问题。这是我的代码,看起来它工作正常,但完全忽略self.driver.execute_script(" window.scrollTo(0,document.body.scrollHeight);")行。

有偶然的方法吗?

请注意,我不能使用像“self.driver.find_element_by_id”这样的任何特定元素。最后,因为他们一直在变化。

def ViewEventHistory(self):
    self.login()
    self.controlMenu('2')
    time.sleep(2)
    view_event = self.driver.find_element_by_id('com.eightdevelopment.eas.android:id/btn_event_history')
    view_event.click()
    time.sleep(10)
    self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
    time.sleep(2)

1 个答案:

答案 0 :(得分:0)

据我了解,此处的问题是您正在尝试滚动窗口,但实际上您需要滚动view_event.click()打开的弹出窗口。

您可以使用我为我的某个项目编写的代码段。它接受一个可选的Selenium元素并滚动它。如果未提供,则该功能会滚动主窗口。

def _scroll(self, scroll_obj=None):
    if scroll_obj:
        self.driver.execute_script(
            'arguments[0].scrollTop = arguments[0].scrollHeight;', scroll_obj)
    else:
        self.driver.execute_script(
            'document.body.scrollTop = document.body.scrollHeight;')