Использование python и селена для выбора опции в раскрывающемся списке выпадающего списка и выбора. Я хочу выбрать опцию «MALE» в выпадающем списке. Я пытаюсь использовать XPath.
Код, который я использую:
driver.find_element_by_id("sex_0").click()
driver.find_element_by_xpath("//*[contains(text(), 'MALE')]").click()
Скопируйте и вставьте HTML:
Пожалуйста, выберите OptionFEMALEMALE
Осмотрите элемент HTML:
<ng-select _ngcontent-uau-c14="" bindlabel="cdDescr" bindvalue="cd" class="custom ng-select ng-select-single ng-select-searchable ng-untouched ng-pristine ng-valid ng-select-opened ng-select-bottom" placeholder="Please Select Option" role="listbox" title="Please Select Option" id="sex_0">
<div class="ng-select-container">
<div class="ng-value-container"><div class="ng-placeholder">Please Select Option</div><!----><!---->
<div class="ng-input" style="top: 0px;"><input role="combobox" type="text" autocomplete="ac08684b8af8" autocorrect="off" autocapitalize="off" aria-expanded="true" style="position: relative; top: 0px; left: -10px; padding-left: 10px; border: none !important; height: 45px; width: 468px;" aria-owns="ac08684b8af8" aria-activedescendant="ac08684b8af8-0"></div></div><!----><!---->
<span class="ng-arrow-wrapper"><span class="ng-arrow"></span></span></div><!---->
<ng-dropdown-panel class="ng-dropdown-panel ng-select-bottom" id="ac08684b8af8" style="opacity: 1;"><!---->
<div class="ng-dropdown-panel-items scroll-host"><div></div>
<div><!----><!---->
<div class="ng-option ng-option-marked" role="option" aria-selected="false" id="ac08684b8af8-0"><!----><!----><span class="ng-option-label">FEMALE</span></div>
<div class="ng-option" role="option" aria-selected="false" id="ac08684b8af8-1"><!----><!----><span class="ng-option-label">MALE</span></div>
<!----><!----><!----><!----></div></div><!----></ng-dropdown-panel></ng-select>
Проблема:
Он выберет FEMALE вместо MALE, поскольку текст XPath «FEMALE» содержит текст «MALE». Я предполагаю, что 'id = "ac08684b8af8" генерируется случайным образом при каждом использовании, что означает, что я не могу использовать Selenium для поиска элемента по id. Я попытался выбрать, используя селен, но я получаю ошибку: «элемент типа ng select not select». Поэтому я использовал XPath. «Ng-option-отмечен» - это просто функция, когда курсор находится над выпадающим списком.
Как мне решить эту проблему?