gpt4 book ai didi

java - 如何在 selenium-java 中使用 xpath 获取表中禁用属性的大小

转载 作者:行者123 更新时间:2023-11-28 05:52:02 26 4
gpt4 key购买 nike

我正在尝试获取特定表中的列数,但是有禁用属性 - 我想知道是否可以在没有禁用属性的情况下获取它的大小(显示列的数量在表中)。

如您所见,某些 tds 在附图中被禁用。我尝试使用的命令是:

driver.findElements(By.xpath("//*/table[@id='TABLE NAME]/tbody/tr[2]/td[@style='display:none;']")).size()

问题是 style='display:none;' 可能在未来的表格中不起作用,因为禁用的 tds 的值会有所不同。提前致谢。

最佳答案

要返回可见的,您可以在 XPath 中使用 notcontains:

driver.findElements(By.xpath("id('table-id')/tbody/tr[2]/td[not(contains(@style,'display:none'))]")).size()

或者使用 CSS 选择器:

driver.findElements(By.cssSelector("#table-id > tbody > tr:nth-child(2) > td:not([style*='display:none'])")).size()

另一种方法是使用 WebElement::isDisplayed 过滤所有元素:

driver.findElements(By.cssSelector("#table-id > tbody > tr:nth-child(2) > td"))
.stream().filter(WebElement::isDisplayed).count()

关于java - 如何在 selenium-java 中使用 xpath 获取表中禁用属性的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37276703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com