Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 如何使用“单击元素”功能来选择;李",;机器人框架id?_Selenium_Xpath_Robotframework - Fatal编程技术网

Selenium 如何使用“单击元素”功能来选择;李",;机器人框架id?

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')/

我无法选择任何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表达式。“

元素

<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']