selenium web driver:无法找到元素

时间:2015-09-29 18:59:14

标签: java selenium selenium-webdriver

更不用说我是使用selenium web驱动程序的新手,我试图自动化邮箱以便我可以自己登录并发送消息,这就是我下载了Mozilla的firebug插件,这是我目前正在使用的浏览器,当我试图找到登录元素时,密码一切顺利,因为我按照他们的名字来做。

input class="_nb-input-controller" type="text" **name="login"** autocorrect="off" autocapitalize="off" value=""

input class="_nb-input-controller" type="password" **name="passwd"** value=""

但是只要我在邮箱条目中识别器改变了它,我就去撰写链接,这是显示的代码:

a class="b-toolbar__item b-toolbar__item_compose js-toolbar-item-compose daria-action" title="Compose (w, c)" href="#compose" data-action="compose.go" data-params="toolbar=1&toolbar.button=compose"

由于我找不到任何方法可以帮助解决这个问题,所以有一位朋友来告诉我有关xpath的信息:

/html/body/div[2]/div/div[5]/div/div[3]/div/div[2]/div/div/div/div[2]/a[2]

通过这样做,selenium找到了元素,我可以点击图标,

但又一次..当我试图进入" TO"提示所以我可以在里面写 它没有找到元素,不是通过xpath,或者有什么方法或公式来获取元素或将它们转换成selenium可以找到它们的方式???

2 个答案:

答案 0 :(得分:0)

有定位器如:

/html/body/div[2]/div/div[5]/div/div[3]/div/div[2]/div/div/div/div[2]/a[2]

通常是一个坏主意。如果你想建立一个稳定的测试我会建议你远离这样的。

现在,我发现您拥有@name@class等属性。 XPath为您提供了一种通过指向标识符而不是指向元素的整个路径来直接访问这些元素的方法。

您可以尝试以下内容:

//input[@name='login'] //input[@name='password']

更多信息:http://www.w3schools.com/xsl/xpath_intro.asp

答案 1 :(得分:0)

哦,我看到了,我尝试使用该元素,我注意到我想要的那个显示为隐藏使用firebug所以我只是尝试下一个,网络驱动程序可以找到该项目,这是一个简单的应用程序发送电子邮件我想要找到的提示是' TO'领域。并感谢大家给我正确的使用Xpath属性的方法