Как я могу щелкнуть и выбрать один за другим все элементы в раскрывающемся списке опций, используя машинописный текст - PullRequest
0 голосов
/ 30 января 2019

Мне нужна помощь в создании кода транспортира машинописного текста / javascript для этого?для веб-автоматизации

вот код веб-сайта:

<select class="form-control mainpage1" ng-options="infomation details opt1" ng-model="listVM.selectedInfo" ng-change="listVM.selectedInfoChanged()" ng-disabled="!listVM.finishLoad" style="">
<option label="dLicense Status" value="object:1002" selected="selected">License Status</option>
<option label="dLicense Category" value="object:1003">License Category</option>
<option label="ExpiryDate" value="object:1004">Expiry Date</option>
<option label="DOB" value="object:1005">Birthday</option>
<option label="License Number" value="object:1006">License Number</option>
<option label="Nationality" value="object:1007">Nationality</option>
<option label="Weight" value="object:1008">Weight</option>
<option label="Height" value="object:1009">Height</option></select>

мне нужно выбрать одну опцию1, затем после выбора опции1 снова выбрать и нажать опцию2 и т. д.

я попробовал следующий код:

browser.actions().mouseMove(element(by.cssContainingText('[value="object:1003"]','License Status'))).click().perform()
browser.actions().mouseMove(element(by.cssContainingText('[value="object:1004"]','License Category'))).click().perform()  

ошибка происходит:

Failed: No element found using locator: by.cssContainingText("[value="object:1003"]", "License Status")

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Игрушка пробовала это ?:

Сначала щелкните раскрывающийся список, чтобы отобразились параметры:

var dropdown = element(by.model('listVM.selectedInfo');

dropdown.click();
element(by.cssContainingText('option', 'License Status')).click();
element(by.cssContainingText('option', 'License Category')).click();

Конечно, вам придется нажимать на раскрывающийся список каждый раз, чтобы отобразился список.

Надеюсь, это поможет.Ура.

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

Обновлено с использованием css и tagName вместо xpath.

Я не проверял это, но вы должны иметь возможность выбрать каждый параметр, создав массив всех элементов параметров в этом раскрывающемся списке, а затем запустив foreach наит.

element(by.css('.form-control mainpage1'))
  .all(by.tagName('option'))
  .forEach((option) => {
    option.click();
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...