Как однозначно идентифицировать реагирующие идентификаторы js в Xpath для нескольких выпадающих списков python selenium? - PullRequest
0 голосов
/ 30 октября 2018

[очень плохо знаком с селеном]

Я использую python selenium для нажатия на выпадающий список на веб-странице. Я могу успешно сделать это с помощью xpath. Все выпадающие списки, которые я хочу щелкнуть, в точности похожи на те, которые меняются для каждого из них после select:

gender = driver.find_element_by_xpath('//*[@id="react-select-7--value"]/div[2]/input')
gender.send_keys('Male')
gender.send_keys(Keys.DOWN)
gender.send_keys(Keys.DOWN)
gender.send_keys(Keys.RETURN)

Как я могу уникально идентифицировать react-select-20--value, чтобы щелкнуть по раскрывающемуся списку?

Ниже приведен HTML-код класса '1010 * высшего класса, который инкапсулирует react-select-20--value, который я хочу щелкнуть здесь, в этом Gender.

Другие выпадающие меню также имеют аналогичную структуру.

<div class="col-md-2">
    <div class="form-input  form-group has-error">
    <span class="glyphicon glyphicon-asterisk"></span>
    <label for="customer.gender" class="control-label">Patient Gender</label>
    <span class="input-group">
    <div class="Select is-searchable Select--single">
    <div class="Select-control">
    <span class="Select-multi-value-wrapper" id="react-select-20--value">
    <div class="Select-placeholder">Select:</div>
    <div class="Select-input" style="display: inline-block;">
    <input aria-activedescendant="react-select-20--value" aria-expanded="false" aria-haspopup="false" aria-owns="" role="combobox" value="" style="box-sizing: content-box; width: 5px;">
    <div style="position: absolute; top: 0px; left: 0px; visibility: hidden; height: 0px; overflow: scroll; white-space: pre; font-size: 14px; font-family: Helvetica, Arial, sans-serif; font-weight: 400; font-style: normal; letter-spacing: normal; text-transform: none;">
    </div>
    </div>
    </span>
    <span class="Select-arrow-zone">
    <span class="Select-arrow"></span>
    </span>
    </div>
    </div>
    </span>
    <span class="help-block">Select Gender</span>
    </div>
</div>

edit: это не повторяющийся вопрос, потому что я могу выбрать раскрывающийся список, но не могу выбрать раскрывающийся список при изменении идентификатора ссылки.

...