python - 通过文本定位元素的问题(获取元素属性)
问题描述
我一直在为这个问题苦苦挣扎很长时间,最后决定问一下。我对机器人框架、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个问题:
- 我做错了什么,我找不到带有定位器的元素-> 实际上为什么 id 是空的?
- 有没有其他方法可以找到这样的输入字段?
PS有人知道如何让调试器在pycharm的robotframework中工作吗?
解决方案
经过多次尝试,我发现了一个问题。
它在 xpath 中是“*”。它应该用“标签”改变才能工作......
推荐阅读
- javascript - Yahtzee Full House 数组逻辑 javascipt
- algorithm - 扫描算法以查找线之间的交叉点
- java - 如何从响应式 WebClient 响应中获取数据
- python - .join() 在这个列表理解中做了什么?
- angular - Angular Reactive 表单将来自 fb 组的数据作为一个数据发送
- batch-file - 混合 Unicode 和 ANSI 的 CMD 输出
- python - 我的 requirements.txt 中的 Scikit-learn 并成功安装,但我仍然收到 ModuleNotFoundError: No module named 'sklearn'
- bash - 使用 exec 启动脚本时未获取 bash 配置文件
- php - Symfony5 - 表单仅在提交后刷新
- java - POM中的Maven问题不要复制文件