Как найти элементы-потомки с помощью API-интерфейса Selen, используя JavaScript? - PullRequest
0 голосов
/ 17 декабря 2018

Я новичок в веб-драйвере Selenium и столкнулся с некоторыми проблемами при поиске элементов DOM.

Допустим, у меня есть набор <div class="column">...</div>, а внутри них - <div class="text">...</div>.

Мой вопрос: Какой лучший способ получить конкретного потомка и щелкнуть по нему ?

Ниже моего кода

var driver = new webdriver.Builder()
  .forBrowser('chrome')
  .build();


driver.get('http://www.localhost:4000/');

var columns = [];

driver.findElements(By.css('.column')).then(function(list) {
  columns = list.slice();

  columns[1].findElements(By.css('.text')).then(function(textList) {
    textList[0].click();
  });

});

1 Ответ

0 голосов
/ 17 декабря 2018

Вы можете объединить селекторы и сделать:

driver.findElements(By.css('.column .text'))

, что бы найти все элементы с классом text внутри элементов с классом .column.

И вы можете использоватьnth-child(), nth-of-type() или другие псевдоклассы для доступа к элементам по индексу внутри селекторов, например:

driver.findElements(By.css('.column:nth-of-type(1) .text:nth-of-type(2)'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...