Только нажмите на 1 элемент с определенным текстом среди элементов с тем же именем класса - PullRequest
0 голосов
/ 01 февраля 2019

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

и я предпочитаю не использовать nth-child () / Xpath в качестве селектора, поскольку порядок может измениться, поэтому для этого более точно (в моем случае) использовать текст внутри компонента, но не уверенесли это возможно.

Это то, что я пробовал до сих пор =)

Во-первых, просто хочу убедиться, что все элементы могут быть найдены, и это успешно.

const list = broswer.elements('.EventFooter');
console.log(list.gettext());

Вывод

[ 'ALL JAN',
  'ALL FEB',
  'ALL MAR',
  'ALL APR', ]

Затем я попробовал метод nth: child, он работает, щелкнул по нужному элементу и успешно перенаправил

var mar = broswer.element('.EventFooter:nth-child(3)');
mar.click();

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

var mar = broswer.elements('.EventFooter').element('*=Mar');
var mar = broswer.elements('.EventFooter').element('=All Mar');
var mar = browser.element('.EventFooter').getText('All Mar');

mar.click();

Вывод

An element could not be located on the page using the given search 
parameters ('*=Mar') / ("=All Mar")/('All Mar') .

вот HTML-код

<div class="EventFooter">All Jan</div>
<div class="EventFooter">All Feb</div>
<div class="EventFooter">All Mar</div>
<div class="EventFooter">All April</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...