Selenium Python WebDriverでコマンド実行レイテンシの最大時間制限を設定する良い方法を見つけようとしています。理想的には、次のようなもの:
my_driver = get_my_driver()
my_driver.set_timeout(30) # seconds
my_driver.get('http://www.example.com') # stops / throws exception when time is over 30 seconds
うまくいくでしょう。が見つかりましたが.implicitly_wait(30)
、それが望ましい動作をするかどうかはわかりません。
役立つ場合は、WebDriver for Firefoxを使用しています。
編集
@ameyの答えによると、これは便利かもしれません:
ff = webdriver.Firefox()
ff.implicitly_wait(10) # seconds
ff.get("http://somedomain/url_that_delays_loading")
myDynamicElement = ff.find_element_by_id("myDynamicElement")
ただし、暗黙の待機がget
(目的の機能である)との両方に適用されるかどうかは、私にはわかりませんfind_element_by_id
。
どうもありがとう!
Pythonでは、ページをロードするためのタイムアウトを作成する方法は次のとおりです。
FirefoxおよびChromedriver:
driver.set_page_load_timeout(30)
その他::
driver.implicitly_wait(30)
これによりTimeoutException
、ページの読み込みに30秒以上かかる場合は常にがスローされます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加