由DOM定位的Selenium问题

时间:2010-06-02 14:12:17

标签: selenium

我正在尝试使用DOM在Selenium中找到一个表单元素,但我无法让它工作。即使我在Selenium文档中使用该示例,它仍然会失败,例如使用此html ...

 <html>
  <body>
   <form id="loginForm">
    <input name="username" type="text" />
    <input name="password" type="password" />
    <input name="continue" type="submit" value="Login" />
    <input name="continue" type="button" value="Clear" />
   </form>
 </body>
 <html>

和Selenium IDE中的这个命令......

verifyElementPresent 

目标......

 dom=document.forms['loginForm']

我在日志中得到[error] false。 文档中的'getElementById'示例确实有效,但其他都没有。

有人可以解释我在这里做错了吗? 感谢。

2 个答案:

答案 0 :(得分:1)

不确定为什么它不起作用(我可以复制问题),但也许有更好的方法来定位你的目标元素?我建议按ID /名称定位,回退到CSS或XPath。

答案 1 :(得分:0)

定位元素的格式是 -

i)document.forms [表格索引] .elements [元素索引]

表单的索引 =表单相对于整个页面的索引号(从0开始),元素的索引 =索引号(开始)在0)元素相对于包含它的整个形式。

ii)document.forms [“表格名称”]。要素[“要素的名称”]

表单的名称 =包含您要访问的元素的表单标记的name属性的值,元素的名称 =的值您要访问的元素的name属性

iii)document.getElementById(“元素的id”)

元素的id =这是要访问的元素的ID属性的值。该值应始终包含在一对括号中(“”)。

IV)document.getElementsByName(“名称”)[指数]

name =由'name'属性定义的元素名称, index =一个整数,指示将使用getElementsByName数组中的哪个元素。