Как вы используете Selenium Python, и он проходит через каждый тег выбора, который ТРЕБУЕТСЯ на веб-странице, а затем всегда выбирает [1] или первый вариант? - PullRequest
1 голос
/ 05 ноября 2019

Количество выпадающих списков на странице может варьироваться в зависимости от количества файлов, которые пользователь выбирает для загрузки на веб-сайт (от 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 выпадающих списков, но выбирают правильную опцию только для первого.

Буду очень признателен за любую информацию о том, как это выполнить.

...