【问题标题】:Selenium problem locating by DOM通过 DOM 定位 Selenium 问题
【发布时间】:2014-01-10 17:31:35
【问题描述】:

我正在尝试使用 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”示例确实有效,但其他示例均无效。

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

【问题讨论】:

    标签: selenium


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      定位元素的格式是-

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

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

      ii) document.forms[“表单名称”].elements[“元素名称”]

      表单名称 = 包含您要访问的元素的表单标签的名称属性值,元素名称 =您希望访问的元素的名称属性

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

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

      iv)document.getElementsByName(“名称”)[索引]

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-30
        • 2019-07-27
        • 2015-02-18
        • 1970-01-01
        • 1970-01-01
        • 2021-03-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多