【问题标题】:Selenium access a form field with bad idSelenium 访问具有错误 ID 的表单字段
【发布时间】:2017-01-25 23:34:02
【问题描述】:

寻找从缺少人类可读 ID/引用的表单字段中输入/读取值的最佳方法。

基本轮廓看起来像

<div id="form-2143">
  <div id="numberfield-1234">
    <label id="numberfield-1234-label">
      <span class="x-form-label">Field Name 1</span>
    </label>
    <div id="numberfield-1234-body">
      <div id="numberfield-1234-wrap">
        <input id="numberfield-1234-input" class="form-field" componentid="numberfield-1234">
      </div>
    </div>
  </div>
  ...
</div>

涉及的类定义和属性更多,但以上是我必须使用的“基础知识”。

这个表单有很多条目,类似的表单还有更多,所以我正在寻找一种方法来搜索标签名称,并访问同一个容器内的输入字段。

我无法控制网站,无法编辑网站的 HTML 结构;这意味着我不能给 id 起合理的名字,但想避免硬引用糟糕的名字。有关如何让 Robot Framework 和 selenium 引用这些元素的任何建议?

【问题讨论】:

  • 检查XPath://label[span[text()="Field Name 1"]]/following-sibling::div//input
  • 您还应该查找拼写错误。你有“标签”而不是“标签”。
  • 干杯伙计们,@Andersson 干得好。

标签: selenium robotframework


【解决方案1】:

在 cmets 中突出 Andersson 的答案

使用 XPath

//label[span[text()="Field Name 1"]]/following-sibling::div//input 

适用于上述示例。

回答如何引用附近元素的问题的关键部分是

 /following-sibling

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多