0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

seleniumで複数条件を使って待機する

Posted at

seleniumを使ってスクレイピングをするとき、ページが読み込まれるまで処理を待機させることがある。

そのとき、ページによって表示される内容が異なっているときなどは、複数の条件を使って制御する。

複数の条件が同時に満たされるときまで待ってほしいとき

方法

all_ofを使う

具体例

wait_until_all.py
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(・・・)

wait.until(
    EC.all_of(
        EC.text_to_be_present_in_element((By.CLASS_NAME, "hoge"), "これが表示されるまで待つ"),
        EC.text_to_be_present_in_element((By.CLASS_NAME, "fuga"), "これも表示されるまで待つ")
    )
)

複数の条件が同時に満たされるときまで待ってほしい

方法

any_ofを使う

具体例

wait_until_any.py
wait.until(
    EC.any_of(
        EC.text_to_be_present_in_element((By.CLASS_NAME, "hoge"), "これが表示されるまで待つ"),
        EC.text_to_be_present_in_element((By.CLASS_NAME, "fuga"), "これが表示されてもいい")
    )
)

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?