我正在为动态站点编写 RF 脚本。但是,根据用户权限,菜单选项卡会更改/隐藏。我不能使用 xpath,因为选项卡的顺序可能会改变。有什么建议。 CSS 和 Sizzle 似乎效果不佳,因为我找不到正在使用的 id 或名称值。
不确定下面是否有帮助
<div class="interior_nav_lv2" id="div_2_1" style="display: block;">
<a class="subNavOffHREF " href="index.cfm?view=something.sCs">Search Cardholders</a>
<a class="subNavOffHREF " href="index.cfm?view=something.lCs">List Cardholders</a>
最佳答案
点击链接
如果您需要单击其中一个链接,您可以使用链接文本作为定位器。例如:
click link Send Message
您还可以显式包含定位器策略:
click link link=Send Message
所有这些都记录在 Selenium2Library documentation 中标题为“定位或指定元素”的部分下.
与您的问题中所述相反,您可以使用xpath。例如,这有效:
click link xpath=//a[text()='Add Cardholder']
获取链接列表
如果你需要验证链接,你可以使用Get Webelements获取所有链接。然后您可以遍历链接以保存链接文本。例如:
${elements}= get webelements xpath=//div[@class='interior_nav_lv2']/a
@{links}= create list
:FOR ${element} IN @{elements}
\ append to list ${links} ${element.text}
Should contain ${links} Search Cardholders
Should contain ${links} List Cardholders
关于css - Robot Framework - 在动态网络应用程序上使用的最佳元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43767531/