如何修改selenium IDE以使用Id作为元素定位器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改selenium IDE以使用Id作为元素定位器相关的知识,希望对你有一定的参考价值。

我想修改selenium IDE插件,以便它只能通过特定属性查找元素。目前selenium IDE使用的定位器过于严格。例如: xpath=//clr-dg-cell[4]/div 如果页面布局被修改,它们就不起作用了。我想修改selenium IDE,这样每当我开始录制它时,它只会使用一个特定的属性(例如:id)。有点像by.id("username") 我应该修改selenium IDE插件中的哪个文件来实现此功能?

答案

如果你想使用固定ID,解决方案很简单id=YourID

{
  "Command": "type",
  "Target": "id=sometext",
  "Value": "This box is ${boxsize} chars wide"
},

但我想你要找的是how to work with changing ID in Selenium IDE

在某些网站上,按钮(或一般元素)的ID在不同页面加载(动态ID)之间变化。这意味着测试用例宏将在重放时失败,因为每次刷新页面后按钮都有一个新ID。

解决方案:通常ID的某些部分保持不变e。 G。后123456和后555555。我们可以使用XPath的starts-with或contains函数来搜索ID的稳定部分。所以选择器将是这样的:// * [contains(@ id,'post-')]。

另一种解决方案(仅限Kantu)是使用visual UI testing来识别元素。无论它具有什么ID,它总是会在其图片的“下方”找到相同的元素。

以上是关于如何修改selenium IDE以使用Id作为元素定位器的主要内容,如果未能解决你的问题,请参考以下文章

如何设置“值”以使用 selenium 输入 Web 元素?

如何从 Selenium IDE 中的“链接”元素获取 url

Selenium IDE 进阶部分-UI-Element

请教Python+selenium如何获取元素属性值问题

selenium如何获取已定位元素的属性值

Selenium Web-Driver 找不到元素(Selenium IDE 确实找到了它)