【问题标题】:Using wildcards in Selenium IDE在 Selenium IDE 中使用通配符
【发布时间】:2012-02-29 02:21:25
【问题描述】:

我对自动化有点陌生,并且正在自动学习所有内容,所以如果我的术语有点偏离,请原谅我。我已经在 hi 和 low 中搜索了这个问题的答案,但我似乎找不到任何东西。我想这是我的小词汇量,当涉及到这些东西时......无论如何......

我正在尝试编写一个测试,使用记录器执行完成教程所需的所有操作。但是,对于某一特定步骤,元素 ID 会发生变化。例如,我尝试点击的 ID 是这样的:

//li[@id='message_661119']/div[2]/div[2]/a/img

但是,对于执行教程“任务”的每个新用户,id 的数量都会发生变化。

有没有办法让 Selenium 识别或使用通配符?示例:

//li[@id='message_******']/div[2]/div[2]/a/img

当然,上面的例子是行不通的。

任何建议都会非常有帮助。谢谢!!

【问题讨论】:

    标签: xpath wildcard selenium-ide


    【解决方案1】:

    您可以为此使用starts-with()

    //li[starts-with(@id, 'message_')]/div[2]/div[2]/a/img
    

    这是 Selenium 的 starts-with() 文档中的 Locating Techniques 中提到的示例之一。

    【讨论】:

    • 伙计,如果可以,我会吻你。非常感谢如此。我一定会更彻底地回顾定位技术。
    • 您的链接已失效,我不确定this 是否指向相同的内容。
    • @rene:好像没有,因为它没有提到starts-with()。似乎他们已经彻底检查了他们的文档,因为他们网站上的任何地方都不再提供该文档。
    【解决方案2】:

    在 Selenium IDE 中命令的 Target 字段中,您可以看到 message_123123 单击下拉列表并选择与 xpath:idRelative 相关的选项,或者如果此选项不起作用,则尝试其他不包含该选项的选项令人讨厌message_123123 这样您就可以通过它的位置而不是 id 来识别网页元素。我通过这种方式解决了我的问题

    【讨论】:

    • 隐藏得很好。对于寻找替代的“目标”选择器非常有用。
    猜你喜欢
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    相关资源
    最近更新 更多