滚动方法有问题。这是我的代码,看起来它工作正常,但完全忽略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)
答案 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;')