не удалось найти элемент с видимым текстом - PullRequest
0 голосов
/ 06 июля 2018

Просмотр источника Когда выбрано название города, оно должно совпадать с именем входного кампуса из списка и быть выбранным таким же, как один. Ниже приведен код и снимок экрана.

tkt_campus = browser.find_element_by_css_selector('#cityTicketingId')
city = WebDriverWait(browser, 30).until(EC.presence_of_element_located((By.ID, 'cityTicketingId')))
city.click()
t_city = Select(city)
t_city.select_by_visible_text(tkt_city_name.strip())
WebDriverWait(browser, 1)
tkt_campus = city = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, 'campusTicketingId')))
t_campus = Select(tkt_campus)
t_campus.select_by_visible_text(campus_name.strip())

Снимок экрана с ошибкой

Нажмите для просмотра страницы

1 Ответ

0 голосов
/ 06 июля 2018

Поскольку скрипт работает в командной строке, а не как отдельный скрипт, более чем вероятно, что веб-драйверу нужно дождаться отображения выпадающего меню. Существует естественная пауза, когда вы вставляете через командную строку построчно, но при запуске в виде скрипта строки кода выполняются мгновенно и проверяют текст перед его отображением в HTML.

Все хорошо, кроме 2-й до последней строки. Похоже, вы уже использовали функцию WebDriverWait один раз:

tkt_campus = browser.find_element_by_css_selector('#cityTicketingId')
city = WebDriverWait(browser, 30).until(EC.presence_of_element_located((By.ID, 'cityTicketingId')))
city.click()
t_city = Select(city)
t_city.select_by_visible_text(tkt_city_name.strip())
WebDriverWait(browser, 1)
tkt_campus = city = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, 'campusTicketingId')))
t_campus = Select(tkt_campus)

t_campus = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.LINK_TEXT('ELURU'))

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