混乱,同时限制了硒webdriver的范围

时间:2019-06-03 16:19:02

标签: selenium selenium-webdriver

我正在尝试限制WebDriver的范围,但未获得期望的结果。有人可以帮我这里发生什么事吗?

1。如果我使用以下代码,则输出为21:

WebElement table = driver.findElement(By.xpath("//div[@id='innings_1']"));      

System.out.println(table.findElements(By.xpath("//div[@class='cb-col cb-col-100 cb-scrd-itms']")).size());    

2。如果使用以下代码,则输出为13:

System.out.println(driver.findElements(By.xpath("//div[@id='innings_1'] //div[@class='cb-col cb-col-100 cb-scrd-itms']")).size());    

我希望第一段代码的输出也应该为13,因为我限制了webdriver的范围

1 个答案:

答案 0 :(得分:3)

您必须在xpath之前添加.,同时限制得分,如下所示。

WebElement table = driver.findElement(By.xpath("//div[@id='innings_1']"));      

System.out.println(table.findElements(By.xpath(".//div[@class='cb-col cb-col-100 cb-scrd-itms']")).size());  

如果未指定.,则findElement将尝试在整个DOM而不是当前节点上执行xpath。因此,我们可以通过在xpath的开头添加.来限制xpath在当前节点上运行。