java - 在 xpath 中指定多个条件

标签 java selenium xpath selenium-webdriver web-scraping

我想选择带有<td class='blob-code blob-code-addition'> and <td class='blob-code blob-code-deletion'> 的所有标签.所以我想包括 or两个谓词之间的条件。这是行不通的。但是,如果我只包含两个类中的一个,它就可以工作。这里有什么问题?语法有问题。

By getChanges = By.xpath("//td[@class='blob-code blob-code-addition'] or  //td[@class='blob-code blob-code-deletion']");

最佳答案

您想像下面这样指定:

//td[contains(@class,'deletion') or contains(@class,'addition')]

//td[contains(@class,'blob-code blob-code-addition') or contains(@class,'blob-code blob-code-deletion')]

如果你想做一个tag独立搜索那么你可以简单地使用

//*[contains(@class,'blob-code blob-code-addition') or contains(@class,'blob-code blob-code-deletion')]

从您的回答看来,您正在尝试连接两个不同的 xpath

不过,contians() 在这里不是必须的。你也可以不用这个

//*[(@class='blob-code blob-code-addition') or (@class='blob-code blob-code-deletion')]

关于java - 在 xpath 中指定多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28529577/

相关文章:

java - 如何处理 Java 中的泛型枚举?

java - 在 Webdriver 中验证页面上的 200 多个列表元素

java - 如何解决ClassNotFoundException : com. beust.jcommander.ParameterException

xpath - 在 selenium IDE 中使用大写和小写 xpath 函数

xml - <xsl:when test =“//…”>语法

javascript - 如何识别没有任何属性信息的元素的 xpath

java - 如何向顶点添加鼠标监听器 - jgraphx

java - 如何从输入中获取 2 个字母(忽略白色字符并且不能使用数组)

java - 有没有办法将事件处理程序添加到我创建的非可视类中,而无需扩展可视类(如节点、父级、按钮等)

python-2.7 - 类型错误 : urlopen() got multiple values for keyword argument 'body' while trying Selenium on Xubuntu 14. 04.5