Selenium 如何使用“单击元素”功能来选择;李",;机器人框架id?
我无法选择任何ul id/li类项目。我试着使用 “单击元素xpath=class('submenu')/li[text()='totalschedule']” 但它又回来了 “InvalidSelectorException:消息:无效选择器:无法定位 具有xpath表达式的元素 类('submenu')/li[text()='Single Day Schedule'],因为 以下错误:SyntaxError:未能对执行“评估” 'Document':字符串'class('submenu')/li[text()='Single Day 计划“]”不是有效的XPath表达式。“ 元素Selenium 如何使用“单击元素”功能来选择;李",;机器人框架id?,selenium,xpath,robotframework,Selenium,Xpath,Robotframework,我无法选择任何ul id/li类项目。我试着使用 “单击元素xpath=class('submenu')/li[text()='totalschedule']” 但它又回来了 “InvalidSelectorException:消息:无效选择器:无法定位 具有xpath表达式的元素 类('submenu')/li[text()='Single Day Schedule'],因为 以下错误:SyntaxError:未能对执行“评估” 'Document':字符串'class('submenu')/
<li class="scheduler" style="">
<a href="#" title="Schedule"><span>Schedule</span></a>
<ul class="submenu">
<li id="sche" style="">
<a href="schedule.html">Single Day Schedule</a>
</li>
<li id="nsch" style="">
<a href="net-schedule.html">Overall Schedule</a>
</li>
</ul>
</li>
-
-
有人能帮我用一下吗
谢谢 而不是
class('submenu')/li[text()='Overall Schedule']
试一试
xpath始终应以两个fwd斜线开头 (用于相对xpath写入) 您可以尝试下面的xpath
Xpath = //li[@id='sche']
你有HTML的例子吗?那真的很有帮助!谢谢提醒,我添加了描述。错误是不言自明的-传递的字符串不是xpath。“xpath总是应该以2个fwd斜杠开始”。。。事实上,不是。它可以从,例如,
/
@anderson开始。一般来说,你是对的,xpath表达式可以以多种方式开始;然而,/
前缀是最常用的——“在DOM中的任何位置都可以访问起始元素”。事实上,这就是RF自动感知传递的定位器类型的方式——如果用户没有在它前面加上“xpath=”前缀,但它以“/”开头,那么它就会威胁它;而且,在RF中,不能使用相对定位器-“/”-您不能传递元素作为相对性的上下文。我同意OPs声明过于笼统,强加了不存在的限制,但在RF中,它的正确率为98%。
Xpath = //li[@id='sche']