Xpath 硒罐';我找不到元素

Xpath 硒罐';我找不到元素,xpath,Xpath,我正在使用SeleniumWebDriver测试我的webapp,但是驱动程序找不到我的元素,元素的样式设置为display:none visible,我正在使用xpath检索该元素,这里是我的xpath By.XPath(".//*[@id='box']/table/tbody/tr[3]/td[4]") 请告知 非常感谢删除前导圆点: By.XPath("//*[@id='box']/table/tbody/tr[3]/td[4]") t车身在我看来可疑。这通常由某些浏览器隐式插入。我不

我正在使用SeleniumWebDriver测试我的webapp,但是驱动程序找不到我的元素,元素的样式设置为display:none visible,我正在使用xpath检索该元素,这里是我的xpath

By.XPath(".//*[@id='box']/table/tbody/tr[3]/td[4]")
请告知


非常感谢

删除前导圆点:

By.XPath("//*[@id='box']/table/tbody/tr[3]/td[4]")

t车身
在我看来可疑。这通常由某些浏览器隐式插入。我不知道有谁在html中使用它

因此,您可以尝试不使用XPath的XPath:

By.XPath(“//*[@id='box']/table/tr[3]/td[4]”)


如果这没有帮助:您可以添加一个(X)HTML代码段吗?

也许,出于调试原因(可能不仅仅是调试原因),您应该拆分xpath。例如(在伪python中):


仍然失败,By.XPath给了我一个空字符串。tr[3]元素不可见,即显示的样式:无。但是如果这是个问题,我就没用了。你能添加一个你要找的区域的html代码片段吗。另外,您使用的驱动程序是什么-例如HtmlUnit、Firefox、Chrome。。?
tables = driver.findElementsByXPath("//*[@id='box']/table")
if len(tables) == 0:
   break

trs = tables[0].findElementsByXPath("/tr")
if len(trs) == 0:
   break

tds = trs[3].findElementsByXPath("/td") # or maybe trs[2]
if len(tds) == 0:
   break

td = tds[4] # or maybe tds[3]