2017-07-04 54 views
0

スクロール方法に問題があります。ここで私のコードは、正常に動作するように見えるが、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

私は理解しているように、ここでの問題は、あなたがウィンドウをスクロールしようとしているが、実際にあなたがview_event.click()によって開かれるポップアップをスクロールする必要があるということです。

私のプロジェクトの1つに書いたスニペットを使用できます。オプションの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;') 
関連する問題