Java Selenium-查找包含类的子类

Java Selenium-查找包含类的子类,java,html,selenium,xpath,Java,Html,Selenium,Xpath,我找不到任何正则表达式使其工作 我需要归档的内容 在herarchy中,我希望获得包含一些特定类的所有子级(包括几个级别) 例如:我想要类为“黑”或“白”的WebElements 你好 再见 它应该能够找到“Hello”和“再见”div,因为它们都是孩子 我的方法 我正在尝试使用Selenium并通过xPath进行搜索。我的表情看起来像: List<WebElement> nodes = initialNode.findElements(By.xpath("//*[@class=

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

我需要归档的内容

在herarchy中,我希望获得包含一些特定类的所有子级(包括几个级别)

例如:我想要类为“黑”或“白”的WebElements


你好
再见
它应该能够找到“Hello”和“再见”div,因为它们都是孩子

我的方法

我正在尝试使用Selenium并通过xPath进行搜索。我的表情看起来像:

List<WebElement> nodes = initialNode.findElements(By.xpath("//*[@class='black' or @class='white']"));
List nodes=initialNode.findElements(By.xpath(“/*[@class='black'或@class='white']);
但我一直在得到“无效表达式异常”或没有结果

谁能帮我一下吗

提前谢谢你

解决了

我认为这更复杂,但我终于做到了。如果有人在任何时候搜索此信息,我将与您分享:

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

如果元素有两个xpath,则可以编写两个xpath,如下所示:

xpath1 | xpath2

例如:

它将选择任意一个xpath

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

试试:
//div[@class='white']|//div[@class='black']
您好,这没用,但我终于成功了!我正在更新主要帖子。谢谢
//div[@class="black"] | //div[@class=“white"]
List<WebElement> nodes = initialNode.findElements(By.xpath("*//descendant::div[contains(@class, 'black') or contains(@class, 'white)]"));