どうすれば無限の期待を得ることができますか?[複製]
Seleniumを使用していますが、ページが読み込まれるのを際限なく待ってから(読み込みに数時間かかるため)、ページからデータを解析する必要があります。どうすればよいですか?
私は次のようなコードを使用します:
wait = WebDriverWait(driver, 10)
wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "modal-title")))
回答
2 Marios
WebDriverWait()を使用してそれを実現できます。たとえば、次のコードは5時間、または要素が見つかるまで待機します。
hours_to_wait = 5
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.visibility_of_all_elements_located((By.XPATH, 'hereIsYourXpath')))
または:
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
またはあなたの場合:
element = WebDriverWait(driver, hours_to_wait *60*60).until(
EC.presence_of_element_located((By.CLASS_NAME, "modal-title"))
)
これらをインポートする必要があります:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC