サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
WAIT_SECONDS = 10
POLLING_FREQUENCY_SECONDS = 1
wait = WebDriverWait(driver, WAIT_SECONDS)
wait = WebDriverWait(driver, WAIT_SECONDS, poll_frequency=POLLING_FREQUENCY_SECONDS)
driver.set_page_load_timeout(秒)
driver.implicitly_wait(MAX_WAIT_SECONDS)
driver.find_element(), driver.find_elements()用
WebDriverWait(driver, WAIT_SECONDS, poll_frequency=秒)
wait.until(EC.presence_of_element_located(ロケータ))
wait.until(EC.presence_of_all_elements_located(ロケータ))
wait.until(EC.visibility_of_element_located(ロケータ))
wait.until(EC.visibility_of_all_elements_located(ロケータ))
wait.until(EC.element_to_be_clickable(ロケータ))
wait.until(EC.frame_to_be_available_and_switch_to_it(ロケータ))
existing_windows = driver.window_handles
wait.until(EC.new_window_is_opened(existing_windows))
initial_url = driver.current_url
wait.until(EC.url_changes(initial_url))
wait.until(EC.presence_of_element_located(ロケータ))
wait.until(EC.staleness_of(要素))
old_text = 要素.text
wait.until(lambda d: 要素.text != old_text)
wait.until(lambda d: 要素.text != テキスト)
(By.XPATH, "XPath")
(By.CSS_SELECTOR, "CSSセレクタ")
(By.ID, "ID")
(By.CLASS_NAME, "クラス")
(By.NAME, "name属性")
(By.TAG_NAME, "タグ")
(By.PARTIAL_LINK_TEXT, "テキスト")
(By.LINK_TEXT, "テキスト")
try:
elem = wait.until(期待される条件)
except TimeoutException:
print('要素が見つからなかった')
wait.until(... , message="エラーメッセージ" )