【发布时间】:2023-03-22 11:09:01
【问题描述】:
我见过的 findElement(By.xpath) 的所有示例搜索整个页面,例如
WebElement td = driver.findElement(By.xpath("//td[3]"));
我想要实现的是:
WebElement tr = ... // find a particular table row (no problem here)
WebElement td = tr.findElement(By.xpath("/td[3]")); // Doesn't work!
我还尝试了其他变体,但没有运气:“td[3]”、“child::td[3]”
使用“//td[3]”查找整个页面中的第一个匹配节点,即不限于我的tr。因此,当您通过 xpath 查找元素时,您调用 findElement() 的 WebElement 看起来毫无意义。
是否可以将 findElement(By.xpath) 范围限定为特定的 WebElement?
(我正在使用 Chrome,以防万一。)
请注意: By.xpath("//td[3]") 只是一个示例。我不是在寻找实现相同目标的替代方法。问题只是试图确定 foo.findElement() 在与 By.xpath 选择器一起使用时是否注意到 foo。
【问题讨论】:
标签: selenium selenium-webdriver