Как нажать на выпадающий список, у которого нет идентификатора - PullRequest
0 голосов
/ 07 января 2019

Как нажать на выпадающий элемент, который появляется после нажатия на элемент:

<div class="field loan-selection">
    <label class="field__body">
        <div class="field__label">Nettokreditbetrag
            <!-- -->&nbsp;
        </div>
        <div class="field__control">
            <div class="Select customSelect has-value Select--single">
                <div class="Select-control">
                    <span class="Select-multi-value-wrapper" id="react-select-2663001--value">
                        <div class="Select-value">
                            <span class="Select-value-label" role="option" aria-selected="true" id="react-select-2663001--value-item">10.000&nbsp;€</span>
                        </div>
                        <div aria-expanded="false" aria-owns="" aria-activedescendant="react-select-3--value" aria-disabled="false" class="Select-input" role="combobox" style="border:0;width:1px;display:inline-block" tabindex="0"></div>
                    </span>
                    <span class="Select-arrow-zone">
                        <span class="Select-arrow"></span>
                    </span>
                </div>
            </div>
        </div>
    </label>
</div>

Итак, после нажатия на элемент: id="react-select-2663001--value"

Внутри этого div появляется выпадающее меню:

<div aria-expanded="false" aria-owns="" aria-activedescendant="react-select-3--value" aria-disabled="false" class="Select-input" role="combobox" style="border:0;width:1px;display:inline-block" tabindex="0"></div> 

И элемент aria-activedescendant изменить значение в соответствии с номером элемента в списке, например react-select-3--options-2 или 1 в конце.

Так что будет лучше, могу ли я просто изменить значение на 20 000 для:

<span class="Select-value-label" role="option" aria-selected="true" id="react-select-2663001--value-item">10.000&nbsp;€</span>

или мне нужно щелкнуть какой-нибудь предмет, например: aria-activedescendan="react-select-3--options-2"

1 Ответ

0 голосов
/ 07 января 2019

Q. Как нажать на выпадающий список, у которого нет идентификатора

A. Не обязательно, чтобы все элементы имели атрибут id. Вы можете использовать другие атрибуты, чтобы сделать это уникальным и найти то же самое

Теперь о вашей проблеме:

Предположим, вы нажали react-select-2663001--value, и он начал показывать какое-то выпадающее меню в зависимости от вашего выбора

Так что вы можете получить все раскрывающиеся опции, как показано ниже

List<WebElement> noOfDropdown = driver.findElement(By.cssSelector("div[aria-activedescendant^='react-select-3--value']"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...