如何在selenium IDE中单击动态id按钮?

如何在selenium IDE中单击动态id按钮?,selenium,automation,selenium-ide,dynamic-values,Selenium,Automation,Selenium Ide,Dynamic Values,我已经搜索了2天了,但仍然无法得到满意的答案。请帮助 我正在使用liferay,我想打开名为“添加”的下拉列表,然后单击名为“空白站点”的提交按钮。“添加”和“空白站点”按钮都包含动态值/id,每次都会更改..附加图像以供参考 除了byId之外,Selenium还支持多种不同的选择器。XPath能够引用标记内的文本值 还可以使用几乎任何选择器来检索可由任何规则进行额外筛选的列表 使用Xpath包含的方法: 根据您的2个附加图像,我认为您正在查找的按钮文本在整个网页中是唯一的。 您可以采取哪些

我已经搜索了2天了,但仍然无法得到满意的答案。请帮助 我正在使用liferay,我想打开名为“添加”的下拉列表,然后单击名为“空白站点”的提交按钮。“添加”和“空白站点”按钮都包含动态值/id,每次都会更改..附加图像以供参考


除了byId之外,Selenium还支持多种不同的选择器。XPath能够引用标记内的文本值

还可以使用几乎任何选择器来检索可由任何规则进行额外筛选的列表

使用Xpath包含的方法: 根据您的2个附加图像,我认为您正在查找的按钮文本在整个网页中是唯一的。

您可以采取哪些措施来解决此问题:
  • 对于第二种情况(
    空白站点
    ):
    • Xpath:
      //li/a/span[包含(text(),“空白站点”)]
建议:

您可以将xpath与任何组合一起使用,一个是@PedroMiguel已经建议的,另一个是这样的

//*[contains(@id, 'yui-patched') and contains(@role,'menuitem')]

谢谢,伙计,我用同样的结构加上“添加”按钮,这两种方法都是有效的,感谢兄弟:有任何方法可以考虑第二个文本。我在页面中有两个相同的词,但是我希望Sele只考虑第二个点击…..你可以在XPath字符串的末尾追加<代码> [index ] < /代码>,如<代码> /LI/A/SPAN [包含(文本)(),“空白站点”)][1]。如果要选择最后一个元素,可以这样使用xpath
//element[@name='D'])[last()]
,甚至可以像这样选择倒数第二个元素
//element[@name='D'])[last()-1]