Я хотел бы найти список элементов по имени класса, а затем нажать на 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>