Sac*_*Seh 1 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());
Run Code Online (Sandbox Code Playgroud)
2.如果使用下面的代码输出是13:
System.out.println(driver.findElements(By.xpath("//div[@id='innings_1'] //div[@class='cb-col cb-col-100 cb-scrd-itms']")).size());
Run Code Online (Sandbox Code Playgroud)
我期望第一个代码块也应该输出 13,因为我限制了 webdriver 的范围
您必须.在 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());
Run Code Online (Sandbox Code Playgroud)
如果您不指定,.则 findElement 将尝试在整个 DOM 而不是当前节点上执行 xpath。因此,我们可以通过在 xpath 的开头添加来限制 xpath 在当前节点上工作.。
| 归档时间: |
|
| 查看次数: |
1227 次 |
| 最近记录: |