Количество выпадающих списков на странице может варьироваться в зависимости от количества файлов, которые пользователь выбирает для загрузки на веб-сайт (от 1 до 12 или около того). Таким образом, в основном, найдите выпадающий список обязательный , а затем, после правильного выбора, перейдите или прокрутите вниз до следующего деления с выпадающим списком обязательный , пока все выпадающие не сделают правильный выбор. так что отправка формы может продвигаться вперед.
<select class="form-control" id="dynamic-id" required="">
<option value="">[Choose Option]</option>
<option value="random_value">ALWAYS SELECT ME</option>
</select>
...
<select class="form-control" id="dynamic-id" required="">
<option value="">[Choose Option]</option>
<option value="random_value">ALWAYS SELECT ME</option>
</select>
Я пытался сделать это так
try:
required_dropdowns = driver.find_elements_by_xpath("//select[@required]/option")
print(len(required_dropdowns))
for each_dropdown in required_dropdowns:
required_dropdowns[1].click()
time.sleep(2)
except:
NoSuchElementException
print("Could not find required dropdown"):
time.sleep(2)
Выходные данные выводят 36 выпадающих списков, но выбирают правильную опцию только для первого.
Буду очень признателен за любую информацию о том, как это выполнить.