java - 如何编写带有条件的 xpath 以获得满足我要求的所需网络元素列表

标签 java selenium xpath selenium-webdriver browser-automation

我想获得一个网络元素列表,我为此编写了一个通用的 xpath 来检索所有网络元素。问题是列表包含一个网络元素,我的代码中不需要它。

List<WebElement> tbodyTD2 = InitDriver.driver.findElements(By.xpath("//tr[@id='addBrandTbl']/td/table/tbody/tr/td"));

这会返回 9 个网络元素。其中8个是必需的。 我不希望出现在列表中的网络元素的 xpath 是:

.//*[@id='addBrandTbl']/td/table/tbody/tr[3]/td

有什么方法可以编写我的 xpath 以便我可以获得不包括上述元素的列表?

最佳答案

您可以编写一个 XPath 谓词来排除特定位置索引中的元素:

By.xpath("//tr[@id='addBrandTbl']/td/table/tbody/tr[position() != 3]/td")

关于java - 如何编写带有条件的 xpath 以获得满足我要求的所需网络元素列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43994222/

相关文章:

android - android解析xml报空指针异常

java - xpath 获取表内的行

java - Wildfly:如果我调用我的 Web 应用程序,为什么我只得到 "Forbidden"?

ruby - capybara ::dsl::模块的未定义方法 'delegate'

javascript - 如何链接 `element` 和 `element.all` ?

r - 从 Word XML 中提取结构化内容

java - 让JTable只显示添加的行

java - 有没有办法让 FileChannel 自动关闭?

java - Blackberry 支持哪些编程语言?

java - 如何为 Selenium Java FirefoxDriver 设置环境变量?