私はたくさんのプロキシを持つサイトをテストしていますが、問題のいくつかはプロキシが非常に遅いです。したがって、私のコードは毎回、そして毎回ページを読み込むことに悩まされています。Selenium WebDriverでページを読み込むためのリアルタイムタイムアウトを設定しますか?
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://example.com/example-page.php")
element = browser.find_element_by_id("someElement")
私はexplicit waits
またはimplicit waits
ようなものをたくさん試したし、かなり長い間の周り探して、それでもまだ解決策や回避策を見つけていません。ページロードラインbrowser.get("http://example.com/example-page.php")
に実際に影響するものは何もないようです。そのため、常にそこに停滞しています。
誰でも解決方法がありますか?
アップデート1:
JimEvans'答えは、私の前の問題を解決し、そしてhereあなたは、この新しい機能のためのPythonのパッチを見つけることができます。
新しい問題:
browser = webdriver.Firefox()
browser.set_page_load_timeout(30)
browser.get("http://example.com/example-page.php")
element = browser.find_element_by_id("elementA")
element.click() ## assume it's a link to a new page http://example.com/another-example.php
another_element = browser.find_element_by_id("another_element")
あなたがbrowser.set_page_load_timeout(30)
を見ることができるようにのみ、このページのロードが30秒以上、それはタイムアウト例外をスローするかどうかを意味しbrowser.get("http://example.com/example-page.php")
に影響を与えますが、問題は、それが何を持っているということではありませんexplicit waits
またはimplicit waits
のいずれかが、検索を開始する前にページ全体が読み込まれるのを待つため、新しいページが完全に読み込まれるまでブロックされませんが、element.click()
などのページの読み込みをパワーアップします。another_element = browser.find_element_by_id("another_element")
その要素。極端な場合には、HOURSとなります。それについて私は何ができますか?
クール!確かに素晴らしい機能があります。 –
@JimEvans:ありがとうございます。このhttp://code.google.com/p/selenium/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Stars%20Type%のPythonパッチが見つかりました。 20Status%20Priority%20Milestone%20Owner%20Summary&groupby =&sort =&id = 687、それは素晴らしい作品です。 – Shane
@JimEvans:ねえ、私の更新を確認してください。私に迷惑をかける新しい問題があります。 – Shane