我想计算selenium(Java)中表的行数和列数。 我做了一些研究,我找到的只是使用XPath 。
虽然我的代码在XPath中运行良好,但我想知道“是否可以使用Element Id
实现此目的?”
我的代码(工作正常,但使用XPath):
List<WebElement> rows = driver.findElements(By.xpath(".//table[@id='ctl00_TxnContentPage_grdLoanDetails']/tbody/tr"));
System.out.println("Row count" + rows.size());
如果您需要任何具体细节,请与我们联系。
答案 0 :(得分:1)
以下代码应该更健壮
{{1}}
答案 1 :(得分:1)
你可以使用CSS Selector。它会稍微快一些,但你必须自己测试一下,看看速度有多快......我们可能说的速度要快100毫秒或者是那个范围内的东西。
List<WebElement> rows = driver.findElements(By.cssSelector("#ctl00_TxnContentPage_grdLoanDetails > tbody > tr"));
System.out.println("Row count" + rows.size());
CSS选择器几乎总是比任何其他定位器更快,因为浏览器已经过优化以使用它,因为它很常见。
这确实使用了ID,正如您在#ctl00_TxnContentPage_grdLoanDetails
中看到的那样,但它(显然)并未使用By.id()
。