Selenium - 查找包含类的子项

我找不到任何正则表达式来使其工作。


我需要存档的内容


在层次结构中,我想获得包含某些特定类别的所有子级(包括多个级别)。


例如:我想要带有“black”或“white”类的 WebElements


<div class="initial-div">

  <div class="red">

     <div class="white">Hello</div>

  </div>

  <div class="black">Goodbye</div>

</div>

它应该能够找到“Hello”和“Goodbye”div,因为它们都是子div。


我的方法


我正在尝试使用 Selenium 并通过 xPath 进行搜索。我的表情是这样的:


List<WebElement> nodes = initialNode.findElements(By.xpath("//*[@class='black' or @class='white']"));

但我总是收到“无效表达式异常”或没有结果。


有人可以帮我解决这个问题吗?


先感谢您!


解决了!


虽然比我更复杂,但我终于做到了。我分享给大家,以防有人随时搜索这个:


List<WebElement> nodes = initialNode.findElements(By.xpath("*//descendant::div[contains(@class, 'black') or contains(@class, 'white)]"));

爪哇html硒路径


精慕HU
浏览 116回答 2
2回答

慕斯709654

List<WebElement>&nbsp;nodes&nbsp;=&nbsp;initialNode.findElements(By.xpath("*//descendant::div[contains(@class,&nbsp;'black')&nbsp;or&nbsp;contains(@class,&nbsp;'white)]"));

拉风的咖菲猫

如果元素有两个 xpath,那么您可以像下面这样编写两个 xpath:xpath1 | xpath2例如://div[@class="black"]&nbsp;|&nbsp;//div[@class=“white"]它将选择任意一个 xpath
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java