首页 > 解决方案 > 通过文本定位元素的问题(获取元素属性)

问题描述

我一直在为这个问题苦苦挣扎很长时间,最后决定问一下。我对机器人框架、selenium 和 python 很陌生,并且想确保我检查了所有内容。

所以,我的问题是找到标签的 ID。下面是我想找到的标签类

<label class="control-label col-sm-3" for="22_11_ahg_23" id="22_11_ahg_23-label">Full name</label>

下面是我在机器人框架中编写的用于查找此元素的代码

 ${full_name_id_-label}=  get element attribute     //*[contains(text(),'Full name')]   id
 Element Text Should Be      id=${full_name_id_-label}     Full name

2 第二行对我来说是一种调试器。我只是想检查是否找到了 id 并将其存储在变量中。结果我得到了 找不到定位器'id ='的元素。

我想存储这个标签的 id,因为它是动态变化的(以及它旁边的输入字段的 id),并且输入字段的 id 和标签的 id 之间的差异最后是“-label”。我不知道如何以其他方式定位输入字段

<input id="22_11_ahg_23" class="form-control" type="text" maxlength="200" mask="" value="">

有没有人可以帮助我。这里实际上有2个问题:

  1. 我做错了什么,我找不到带有定位器的元素-> 实际上为什么 id 是空的?
  2. 有没有其他方法可以找到这样的输入字段?

PS有人知道如何让调试器在pycharm的robotframework中工作吗?

标签: pythonseleniumrobotframework

解决方案


经过多次尝试,我发现了一个问题。

它在 xpath 中是“*”。它应该用“标签”改变才能工作......


推荐阅读