使用 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/