Ожидание веб-драйвера Python Selenium на основе состояния текста в элементе

#python #python-3.x #selenium #selenium-webdriver #web-scraping

#питон #python-3.x #selenium #selenium-webdriver #очистка веб-страниц

Вопрос:

HTML-элемент с идентификатором equity_timeStamp содержит дату и время на веб-сайте, который я собираюсь очистить с помощью selenium и Bs4. Текст меняется в зависимости от даты, но префикс As on и суффикс IST остаются. Могу ли я каким-либо образом использовать text_to_be_present_in_element метод для проверки наличия только этого префикса или суффикса вместо всего текста при изменении даты и времени? Может быть, регулярное выражение? Один из способов, который я нашел, — создать пользовательский класс условий, но это немного чересчур, так есть ли встроенный способ сделать это?

Образец текста внутри элемента: As on 28-Aug-2020 15:30:00 IST

Код, с которым я хочу, чтобы мне помогли:

 wait = WebDriverWait(driver, 10)
wait.until(expected_conditions.text_to_be_present_in_element((By.ID, 'equity_timeStamp'),'As on'))
  

Комментарии:

1. Вы можете использовать регулярное выражение в локаторах selenium. Вы также могли бы использовать starts-with.

Ответ №1:

Я хотел бы видеть источник страницы веб-сайта, но мне интересно, используете ли вы следующую команду.

 wait.until(expected_conditions.presence_of_all_elements_located((By.XPATH, '//*[@id="equity_timeStamp" and contains(text(), "As on") and contains(text(), "IST")]')))