Selenium webdriver - подождите, пока не появится 1 из 2 селекторов - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь использовать Selenium для автоматической загрузки некоторых отчетов на основе введенной мной даты.

Страница обновляется Javascript.

Иногда для загрузки списка отчетов может потребоваться некоторое время, поэтому я использовал функцию WebDriverWait.

Есть несколько страниц, на которых не может быть отчетов. Это вызывает другой css_selector на страницу с отчетами.

css_selector без отчетов = "# report-list"

css_selector with reports = "#no_reports"

Я выполнил поиск в Интернете, но единственное решение, которое я могуfind предназначен для Java: Selenium Подождите, пока кто-нибудь из Element станет видимым

Я пробовал приведенный ниже код, но это не работает.

wait = WebDriverWait(browser, 10)
        wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#reports-list","#no_reports")))

1 Ответ

1 голос
/ 30 октября 2019

Для ожидания двух элементов в одном селекторе css используйте:

wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "#reports-list, #no_reports")))

В вашем коде ошибка (By.CSS_SELECTOR, "#reports-list","#no_reports").

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