Показать сообщение отдельно
  #1 (permalink)  
Старый 09.11.2019, 02:36
Новичок на форуме
Отправить личное сообщение для AlexBoo Посмотреть профиль Найти все сообщения от AlexBoo
 
Регистрация: 09.11.2019
Сообщений: 5

на selenium webdriver js нужно вывести содержимое всех тегов с классом item
Пишу автотест на selenium webdriver js, в котором нужно вывести содержимое тегов div class="item" (' Item 1 ', ... ' Item 4 '). Пробовал получить массив класса list с дочерними элементами item и найти все элементы по классу item и перебрать в цикле, но у меня ничего не вышло. Подскажите как это сделать

autotest.js:
const { By, Key, until } = require("selenium-webdriver"); 
const webdriver = require("selenium-webdriver"); 
require("chromedriver"); 

let promise = require("selenium-webdriver").promise; 
  await driver.get('http://www.test.site') ;
   
    let pendingElements = driver.findElements(By.className('item')); 

       pendingElements.then(function (elements) { 
            let pendingHtml = elements.map(function (elem) { 
                return elem.getInnerHtml(); 
              }); 

      promise.all(pendingHtml).then(function (allHtml) {
             console.log(allHtml);
     // Здесь по логике я должен получить массив значений (Item 1, Item 2 ...)
       });
    });

test.site.html:
<body> 
 <div class="list> 
  <div class="item">
   <div>
    <strong> Item 1 </strong>
    </div>
    </div> 
 <div class="item"> 
  <div> 
   <strong> Item 2 </strong>
   </div>
   </div> 
 <div class="item">
  <div> 
   <strong> Item 3 </strong>
  </div>
  </div>
  <div class="item"> 
  <div> 
   <strong> Item 4 </strong>
   </div>
   </div>
 </div>
 </body>

Данный код выдает ошибку (not a function):
TypeError: pendingElementsConfigList.then is not a function at autoTest (/home/automation_testing/tests/autoTest.js:69:35) at process._tickCallback (internal/process/next_tick.js:68:7)

если вывести нулевой элемент:
console.log(pendingElements[0]); то в консоли выведет это:
WebElement { 
driver_: Driver { session_: Promise { [Session] }, 
executor_: Executor { w3c: true, customCommands_: [Map], log_: [Logger] },
 fileDetector_: null, onQuit_: [Function: onQuit] },
 id_: Promise { '781fdd8b-08e5-4aee-8ce6-c3b800a75956' }
 }

из этого как-то нужно вывести значения элементов с классом item

Последний раз редактировалось AlexBoo, 09.11.2019 в 12:38.
Ответить с цитированием