我正在尝试使用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'示例确实有效,但其他都没有。
有人可以解释我在这里做错了吗? 感谢。
答案 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数组中的哪个元素。