Задать вопрос
Levman5
@Levman5
print(“Hello World!”)

В selenium не выбирает из списка по переменной. Что делать?

На сайте есть вот такой код:
<div class="form-group">
    <label for="id_field_7089">1. Какова Ваша температура?</label> 
    <span data-required-id="id_field_7089">*</span> 
    
        <select name="field_7089" class="form-control" required="" id="id_field_7089">
  <option value="" selected="">---------</option>

  <option value="404">Нормальная</option>

  <option value="405">Выше нормы</option>

</select>
    
</div>


Я написал код:
q = driver.find_elements_by_class_name('form-control')
q_click = q[0]
time.sleep(1)
select = Select(q_click).select_by_visible_text(answers[0])
q_click = q[1]
time.sleep(1)
print(answers[0])


Импорты:
from selenium import webdriver
from selenium.webdriver.support.select import Select


Когда я запускаю код получаю ошибку что: Could not locate element with visible text: Нормальная
Он не может найти элемент по видимому тексту хотя текст правильный.

Но если код сделать таким:
q = driver.find_elements_by_class_name('form-control')
q_click = q[0]
time.sleep(1)
select = Select(q_click).select_by_visible_text('Нормальная')
q_click = q[1]
time.sleep(1)
print(answers[0])

То всё работает.

Почему так происходит?
  • Вопрос задан
  • 105 просмотров
Подписаться 1 Простой 10 комментариев
Решения вопроса 1
@Drill
Могу только предположить, что в answers[0] строка с несколько другим набором символов. Попробуй так:
select = Select(q_click).select_by_visible_text(answers[0].strip())
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы