我使用selenium IDE来自动测试一个包含动态xpath的网页。我注意到selenium IDE在第一次播放时捕捉到了xpath fine。然后在关闭浏览器并打开后,xpath当然发生了变化,但保存的目标是旧的xpath。
硒有办法解决这个问题吗?
我知道我可以使用.contains
方法,但我可以将其应用于目标吗?硒IDE firefox扩展图片
要识别动态元素,可以构造动态定位器。举几个例子:
-
使用css作为以
abc
:开头的具有id
属性的<span>
标记span[id^='abc']
-
将css用于具有包含
pqr
:的class
属性的<span>
标记span[class*='pqr']
-
对
<span>
标记使用xpath,该标记具有以xyz
:结尾的value
属性span[value$='xyz']
-
对
<span>
标记使用xpath,id
属性以abc
:开头//span[starts-with(@id, 'abc')]
-
对
<span>
标记使用xpath,其中class
属性包含pqr
://span[contains(@class, 'pqr')]
动态CSS_SELECTOR的说明
通配符定义如下:
-
^
:指示属性值以 -
*
:表示属性值包含 -
$
:表示属性值以
参考
您可以在中找到一些相关的详细讨论
- Java Selenium Web驱动程序表达式通过以开头和以结尾的ccs查找动态元素