selenium:找不到嵌套的div元素

时间:2011-08-15 16:30:44

标签: selenium testng

我对selenium不熟悉并尝试使用带有eclipse的testng测试用例。我试图从多个ajax调用打开负载的网页。嵌套的div在表中加载。一个div元素是一个搜索框。当我试图使用测试用例输入搜索词时,它会错误地“找不到元素”。我尝试了寻找元素的不同方法,但徒劳无功。我真的很感谢解决这个问题的方法。

感谢, 〜沙拉斯

2 个答案:

答案 0 :(得分:0)

如果不知道您网页的结构等,确切地知道发生了什么事情有点困难。

我可以采取的一件事是,在尝试使用它之前,先等待所需的元素。

例如,您可以在尝试单击诸如文本框之类的内容之前添加waitForElementPresent命令。

考虑:

<input type="text" id="mySearchBox" />

理想情况下,您需要拥有2个命令:

waitForelementPresent : id=mySearchBox

然后

type : id=mySearchBox : Text To Search On

这些事情似乎很少包含在初始录制过程中。我经常要进去并专门告诉Selenium等待某些元素。

答案 1 :(得分:0)

我建议您使用XPath,然后找到一个输入框就像将此查询提交到find_element_by_xpath方法一样简单:“// input(@ name ='name')”

有关完整的语法规范,请参阅W3school。

您可以使用一些工具来测试xpath,例如:Firebug。

I wrote an entry on my blog for this purpose.