2017-07-04 3 views
0

Problem mit Scroll-Methode. Hier ist mein Code, nach dem es aussieht, funktioniert es gut, aber vollständig ignoriert Self.driver.execute_script ("window.scrollTo (0, document.body.scrollHeight);") Zeile.Scrollen Sie ganz nach unten der Seite Python

Gibt es zufällig eine andere Methode?

Denken Sie daran, ich kann am Ende kein bestimmtes Element wie 'self.driver.find_element_by_id' verwenden, weil sie sich ständig ändern.

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) 

Antwort

0

Wie ich verstehe, ist das Problem hier, dass Ihr das Fenster zu rollen versuchen, aber eigentlich müssen Sie das Pop-up blättern, die von view_event.click() geöffnet wird.

Sie können ein Snippet verwenden, das ich für eines meiner Projekte geschrieben habe. Es akzeptiert ein optionales Selenelement und scrollt es. Wenn es nicht bereitgestellt wird, scrollt die Funktion das Hauptfenster.

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;') 
Verwandte Themen