我想按类名称查找元素列表, 然后单击所有包含特定文本的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>