css - Selenium IDE : Target the second occurence of a span element that contains a specific string

标签 css selenium selenium-ide

使用 Selenium IDE 创建测试脚本。我正在为 Magento 电子商务平台创建一个扩展。我需要定位一个包含字符串“Dashboard”的子菜单项。这些菜单项包含在 span 元素中。通常我只会使用以下内容:

css=span:contains('Dashboard')

但是 Magento 默认情况下已经包含 1 个实例。我需要一种方法来指定包含单词 Dashboard 的 span 元素的第二次(或最后一次)出现。由于 Magento 菜单在安装和版本之间的差异,我必须使用像“last”这样的相关术语才能选择它。这意味着我不能使用第 n 个选择器或类似的东西。任何帮助将不胜感激。

呈现的可用于定位的 HTML:

<li class="  parent level0">
<a href="#" class=""><span>My Menu</span></a>
<ul >
<li  class="  last level1"> <a href="/link"   class=""><span>Dashboard</span></a>

针对我的特定跨度的口头方式:

“在包含文本‘我的菜单’的跨度之后包含文本‘仪表板’的第一个跨度”

最佳答案

你的意思是:

elements = driver.find_elements_by_css_selector("...")
count = len(elements)
lastElement = elements[count - 1]

或者只选择最后一个元素:

driver.find_element_by_css_selector("li.last level1>a>span")

关于css - Selenium IDE : Target the second occurence of a span element that contains a specific string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30201235/

相关文章:

javascript - 默认光标在 IE 和 Mozilla 中不起作用

html - CSS : setting all the elements of nav in the same row

java - Java中获取资源的路径,获取可以在浏览器中打开的带有特殊字符的路径

selenium - selenium IDE 有办法处理动态元素吗?

css - 在 selenium IDE 中查找字体粗细值

html - float 元素在有滚动条的情况下到底部

css - 应用类和属性选择器

testing - Selenium 打开浏览器并设置焦点

java - 检查 WebElement 对象中是否存在元素

html - 无法定位带有关键字结尾的输入框 - Xpath