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