Selenium自动化:在JAVA中使用Selenium识别唯一的WebElement集
我有这样一个HTML:
"<div **id="xx-abc-list-1"**>
<button ng-reflect-class-base="icon component" **id="xx-abc-list-button-2"**><span class="mat-button-wrapper">
</div>
<div **id="xx-abc-list-2"**>
<button ng-reflect-class-base="icon component" **id="xx-abc-list-button-2"**><span class="mat-button-wrapper">
</div>"
现在,我想得到以id=xx abc list结尾的所有元素的列表——只是使用了下面的代码
@FindBy(xpath = "//*[contains(@id,'xx-abc-list-')]");
List<WebElement>;
但考虑到其他元素(xx abc列表按钮),这也给了我4个计数
我应该在上面的代码中修改什么,以便只得到我需要的两个值
# 1 楼答案
上面XPath中的
*
表示任何元素(它是一个通配符)。在您的情况下,您只需要DIV
,这样就可以将其更改为它会让你得到你想要的
在一个更复杂的场景中,您想要两个而不是四个,并且所有的都是
DIV
的,您仍然可以使用“not contains()”来排除包含“-button-”的IDHow to use not contains() in xpath?