Python 3 – セレンはページがロードされるのを待つ

Pythonセレンでページが読み込まれるのを待ちます。 この記事では、その方法を学びます。 少し直感に反します。

Seleniumを使用するとブラウザーを自動化できますが、ページの読み込みが完了するのを待つためにtime.sleepは必要ありません。 実際、予想とは異なる動作をします。

関連コース:

セレンはページがロードされるのを待つ

以下のコードブロックは、ページの読み込みが完了するのを待つ方法を示しています。 タイムアウトを使用します。 要素がページに表示されるのを待ちます(要素IDが必要です)。

次に、ページが読み込まれると、ページが読み込まれたことが表示されます。 タイムアウト期間(秒単位)が経過すると、タイムアウトエラーが表示されます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver = webdriver.Firefox()
driver.get('https://pythonbasics.org')
timeout = 3
try:
element_present = EC.presence_of_element_located((By.ID, 'main'))
WebDriverWait(driver, timeout).until(element_present)
except TimeoutException:
print("Timed out waiting for page to load")
finally:
print("Page loaded")

セレンはページがロードされるのを待つ

セレンを初めて使用する場合は、 それなら私はこの本を強くお勧めします。

例をダウンロード

Hope this helps!

Source link