WebDriverWait для нескольких условий (ИЛИ логическая оценка) - PullRequest
1 голос
/ 02 марта 2020

Используя python, метод WebDriverWait используется для ожидания появления 1 элемента на веб-странице. Как можно использовать этот метод без многократных попыток / исключений? Есть ли вариант ИЛИ для нескольких случаев, использующих этот метод? https://selenium-python.readthedocs.io/waits.html

1 Ответ

2 голосов
/ 03 марта 2020

Без использования нескольких try/except{}, чтобы вызвать WebDriverWait для двух элементов через опцию ИЛИ, вы можете использовать любое из следующих решений:

  • Использование CSS_SELECTOR:

    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, ".element_A_class, .element_B_class"))
    
  • Использование XPATH через :

    element = WebDriverWait(driver,20).until(lambda driver: driver.find_element(By.NAME,"element_A_name") or driver.find_element(By.ID,"element_B_id"))
    

Ссылка

Вы можете найти пару соответствующих обсуждений в:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...