#javascript #protractor
#javascript #транспортир
Вопрос:
Я пытаюсь получить количество всех параметров в выпадающем списке. Ниже приведен код, который, я думаю, должен работать, но это не так
let elements_count = await $$('#directClassBased > option').count();
console.log('nThe length of the elements are' await elements_count ' n');
Код возвращает количество как 0. Как это можно исправить?
html, связанный с dropbox, выглядит следующим образом:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><select _ngcontent-c16="" class="form-control ng-dirty ng-valid ng-touched" formcontrolname="dcbsId" id="directClassBased">
<!---->
<option _ngcontent-c16="" value="0: C92AB645-9485-4A15-8F49-5412D1639962">Addison</option>
<option _ngcontent-c16="" value="1: A85A556D-ABCA-44E5-80A5-9AF313E161FC">Dundalk</option>
....
....
</select></title>
</head>
<body>
</body>
</html>
Комментарии:
1. Проверьте double
$$
в своем коде:$$('#directClassBased > option').count()
2. удалите
await
изawait elements_count
3. Действительно ли этот выпадающий список существует на
<head>
вашем сайте или это опечатка?4. @Dublind выпадающий список находится не в заголовке .. тег был скопирован, когда я скопировал элемент.
Ответ №1:
Попробуйте следующий способ
const elements_count = element.all(by.css('#directClassBased > option'));
const drop = element(by.css('#directClassBased'));
await drop.click(); // to open the drop down
await browser.sleep(1000);
console.log('nThe length of the elements are' await elements_count.count() ' n');