2016-08-04 18 views
0
url = correct_url(url) 
browser = webdriver.Chrome() 
browser.get(url) 
browser.find_element_by_xpath('//*[@title="New chat"]').click() 
drawer_body = browser.find_elements_by_class_name('drawer-body') 
browser.execute_script('arguments[0].scrollTop = arguments[0].scrollHeight', drawer_body) 

は 'DIV' 要素を取得するJavaScript、Pythonのセレンにスクロールし、これはリストを持っており、はゆっくり

drawer_body = browser.find_elements_by_class_name( '引き出し-体')

をスクロールします

下の行は非常に高速にスクロールして下に届きますが、データはロードされません。 drawer_body要素にゆっくりとスクロールできる方法はありますか?

browser.execute_script( '引数[0] .scrollTop =引数[0] .scrollHeight'、drawer_body)

私はPythonとセレンを使用して、以下のスクリプトを実装しようとしています。 http://ctrlq.org/code/19966-whatsapp-phone-numbers

+0

「drawer_body」要素にスクロールすると、サーバーに要求が行われます。要求があれば取​​得できます。ネットワークタブを開き、手動でリンクをリクエストしてみてください。あなたがURLを提供すれば、何が起こるかを見てください。 –

+0

私はあなたが何を意味しているのか理解できませんでした。 web.whatsapp.comでスクロールしたい –

答えて

1

ほとんどのブラウザでは、ページを下にスクロールするためのキーボードショートカットとしてスペースバーキーをサポートしています。この機能を使用して、次の操作を行うことができます。

  1. ログインページが
  2. これまでにロードされているもの解析は
  3. セレン
  4. を使用してシミュレートするプレススペースバーは、より多くのデータが
  5. をロードされるまで2〜3秒待って
  6. 続行

もう1つのヒント:永遠にループすることを避けるために、新しく読み込まれたデータがオンと異なるかどうかをチェックする必要がありますeを押してください。そうしないと、解析する新しいデータがないので、スクリプトを終了する必要があります。

関連する問題