Selenium Firefox / Web-Driver无法通过XPath找到元素

时间:2011-11-24 20:45:28

标签: java selenium webdriver

我在阅读div中的链接时遇到问题。 好的,这就是div的样子:

<div id="AjaxStream" style="clear: both">
<a target="_blank" href="http://www.something.com/">
<img height="370" width="752" border="4" usemap="#Link" src="somefile.png">
</a>
</div>

以下代码,找到div工作完全正常。 (我尝试了element.getAttribute(“id”) - 返回“AjaxStream”)

WebElement element = river.findElement(By.xpath("//html/body/div/div[2]/div/div[11]"));

这是什么不起作用:

WebElement element = driver.findElement(By.xpath("//html/body/div/div[2]/div/div[11]/a"));

这实际上应该对链接元素很好,但事实并非如此。有任何想法吗? 提前谢谢。

##编辑: 没关系 - 我修好了。问题是元素没有加载。我在尝试找到元素之前添加了一个Thread.sleep(1000) - 现在它完全正常。

1 个答案:

答案 0 :(得分:0)

看看你的xpath ......对我来说是不可读的。如果有人在几个月后才进来,他们是否能够将xpath翻译成你正在寻找的标签?更好的解决方案是将id属性添加到您感兴趣的标记中,并通过该ID找到它。