9

プロキシを介してWebサイトをダウンロードする単純なコードを実行していますが、プロキシが遅くなることがあり、これによりWebDriver .get(url)リクエストが無期限にブロックされる可能性があります。

この関数のタイムアウトを設定するWebDriver用の簡単なPythonコードはありますか?検索を通して、私はJavaで機能するテクニックだけを見つけました。

driver.get(url)
4

2 に答える 2

8

そこにいるすべてのWebクレテントにとって、この問題を解決するために私が使用したのはこれでした。Selenium はソケット ライブラリを使用するため、ソケット モジュールにタイムアウトを設定します。これにより、ブラウザにエスケープ キーを送信するために使用できるエラーがスローされます (これにより、ページの読み込みが停止します)。

socket.setdefaulttimeout(2)
try:
     driver.get(pageLink)
except socket.timeout:
     #send ESCAPE key to browser
于 2012-12-13T20:01:47.177 に答える
4

ドキュメントでこれを見つけました

selenium.webdriver.remote.webdriver.set_script_timeout(time_to_wait)

Set the amount of time that the script should wait before throwing an error.

time_to_wait: The amount of time to wait

Usage:

driver.set_script_timeout(30)
于 2012-12-13T05:43:11.407 に答える