Я пытаюсь заставить Python / Selenium правильно щелкнуть по раскрывающемуся меню и выбрать «IT», но лучшее, что я мог сделать, - это найти элемент и получить сообщение об ошибке, в котором говорится, что я не могу ввести текст на том, что я нашли.
Обычно пользователь нажимает на это меню и выбирает IT или набирает IT и нажимает ввод.
HTML код:
<div class="form-group">
<label class="col-md-3 control-label" for="id_tenant_group">Tenant group</label>
<div class="col-md-9">
<select name="tenant_group" nullable="true" class="netbox-select2-api form-control" data-url="/api/tenancy/tenant-groups/" data-filter-for-tenant="group_id" placeholder="None" id="id_tenant_group">
<option value="" selected>---------</option>
<option value="2">IT</option>
<option value="1">OT</option>
</select>
</div>
Когда я осмотрев элемент, я вижу, что есть элемент span, который вызывает событие, показывающее другой диапазон, где, наконец, можно увидеть мой вариант.
Я не могу выбрать с помощью видимого текста, потому что другие меню также содержат то же самое "- ------- "видимый текст.
Я сделал несколько снимков экрана, чтобы проиллюстрировать проблему, надеюсь, это поможет. html код браузер проверяет
Если честно, я действительно потерян, любые предложения будут высоко оценены.
РЕДАКТИРОВАТЬ: Я попытался сделать следующее:
tenant_g_element = Select(browser.find_element(By.XPATH, '//span[@id="select2-id_tenant_group-container"]'))
tenant_g_element.selectByVisibleText("IT")
Но я получил следующую ошибку:
selenium.common.exceptions.UnexpectedTagNameException: Message: Select only works on <select> elements, not on span