[英]Selenium: findElements by class xpath, before a specific element
I have a page with a layout like this: 我的页面布局如下:
<div class="cool nice">...</div> //1
<div class="cool nice">...</div> //2
<div class="cool nice">...</div> //3
<div class="cool nice">...</div> //4
<div class="separator element">...</div>
<div class="cool nice">...</div> //5
<div class="cool nice">...</div> //6
I can get all elements with class="cool nice"
like this: 我可以使用
class="cool nice"
获得所有元素,如下所示:
List<WebElement> elements=driver.findElements(By.xpath("//*[@class='cool nice']"));
However, I'd like to exclude elements that follow the element with class="separator element
. What is the best way to do that? 但是,我想排除
class="separator element
,最好的方法是什么?
Use preceding-sibling
or preceding
使用
preceding-sibling
或preceding
//div[@class='separator element']/preceding::div[@class='cool nice']
OR 要么
//div[@class='separator element']/preceding-sibling::div[@class='cool nice']
Try now 现在试试
List<WebElement> elements=driver.findElements(By.xpath(" //div[@class='separator element']/preceding-sibling::div[@class='cool nice']"));
在我看来应该没有一个:
//*[@class="cool nice" and not(./preceding::*[@class="separator element"])]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.