1

私は、Webページを自動的に下にスクロールさせるために、非常に小さなスクリプトをPythonでセレンと組み合わせて書いています。私のスクリプトは、範囲の最も高いパラメータを設定する方法を理解していないので、ある程度しかそれを行うことはできません。最高の範囲をどのように修正すればよいのか、スクリプトの中で10に設定して、それが機能するかどうかを知る必要はありません。私がここから始まった方法でウェブページの最下部に到達する方法が分かったら、とても感謝しています。前もって感謝します。クローラで「ページダウン」を効果的に使用できない

私が試したスクリプト:

from selenium import webdriver ; import time 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Chrome() 
driver.get("http://fortune.com/fortune500/list/") 
sloping = driver.find_element_by_tag_name('body') 
for i in range(10):      #I'was talking about this range 
    sloping.send_keys(Keys.PAGE_DOWN) 
    time.sleep(3) 
+0

いくつかのより多くをスクロールダウンし、ページの一番下にすぐに行くためにあなたの目標ですか? – IamBatman

+0

あなたのコメントのためにありがとうIamBatman。あなたは何を推測させたのですか?私は上記のように範囲に任意の数値をハードコーディングせずに何がプロセスであるべきかを知る必要があります。 – SIM

+0

あなたのポストから。_「ここから始めた方法で、そのウェブページの最下部に到達する方法が分かったら、私はとても感謝しています。」_ – IamBatman

答えて

0

これはdocument.body.scrollHeightにスクロールして1行で行うことができます

  • 上記のようにあなたがスクロールこの

    lenOfPage = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;") 
         match=False 
          while(match==False): 
            lastCount = lenOfPage 
            time.sleep(3) 
            lenOfPage = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;") 
            if lastCount==lenOfPage: 
             match=True 
    
    • を下にしてみてください数秒待つ
    • ページソースのサイズを保存する(xxx.page_source)
    • バックページのソースは、保存された最後のページのソースのサイズよりも大きいループの大きさであればと
  • +0

    ありがとうzsbappa、あなたの種類の答えです。私はあなたが提供した答えに精通しています。私は明示的にスクリプトを達成するために私のタイトルで 'page_down'を述べました。さらに、私は私の記述で、私が始めたやり方でこれを解決したいと言いました。再度、感謝します。 – SIM

    関連する問題