Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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
Python 使用xpath告诉selenium单击何处?_Python_Xpath_Selenium - Fatal编程技术网

Python 使用xpath告诉selenium单击何处?

Python 使用xpath告诉selenium单击何处?,python,xpath,selenium,Python,Xpath,Selenium,我对所有这些都不熟悉,但不久前我已经了解了一些关于python的知识,您能帮我指定正确的XPath以供selenium单击吗 我试过这种方法,但显然不起作用:( 如果您想知道我从哪里得到了那个丑陋的XPath,那么它来自Firebug的复制XPath选项 我认为HTML代码段非常长,因此我只能这样做: <html> <body> <div id="outer_wrapper"> <div id="container">

我对所有这些都不熟悉,但不久前我已经了解了一些关于python的知识,您能帮我指定正确的XPath以供selenium单击吗

我试过这种方法,但显然不起作用:(

如果您想知道我从哪里得到了那个丑陋的XPath,那么它来自Firebug的复制XPath选项

我认为HTML代码段非常长,因此我只能这样做:

<html>
  <body>
    <div id="outer_wrapper">
      <div id="container">
        <div id="header">
          <div id="menunav">
            <ul>                                
              <li><a title="Login page" href="[dest]">Login</a></li>                              
              <li><a title="" href="[dest]">Sitemap</a></li>
              **<li><a title="" href="[dest]">Administration</a></li>**
            </ul>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>

  • **
  • **

下面是一些示例定位器,您可以使用它们来单击
管理
链接(基于XPath和HTML代码片段)。正确的Selenium命令是
单击

  • link=Administration
  • css=a:contains(管理)
  • css=#第n个孩子(3)
  • xpath=id('menunna')/genderant::a[3]
  • //a[text()='Administration']
  • //a[包含(text(),'Administration')]

我希望这为您指明了正确的方向。

下面是一些示例定位器,您可以使用它们来单击
管理
链接(基于您的XPath和HTML片段)。正确的Selenium命令是
单击

  • link=Administration
  • css=a:contains(管理)
  • css=#第n个孩子(3)
  • xpath=id('menunna')/genderant::a[3]
  • //a[text()='Administration']
  • //a[包含(text(),'Administration')]

我希望这为您指明了正确的方向。

如果您给我们提供动态生成的HTML,这样您要单击的项目每次都会更改,这会有所帮助。@decebal:首先,不要以
/
开始您的路径,只需
/
就可以了。其次,是否有XHTML名称空间声明?可能是我的问题on不是直截了当的enaught,我知道如何提取Xpath,我只是不知道如何将其与seleniumIt一起使用可能更容易使用:
//a[@href=”http://..."]
如果你给我们一个动态生成的HTML,这样你想点击的项目每次都会改变,这会有帮助吗?@decebal:首先,不要用
/
开始你的路径,只要
/
就行了。第二,是否有XHTML名称空间声明?也许我的问题不是直接的,我知道如何使用ext提取一个Xpath,我只是不知道如何与seleniumIt一起使用它可能更容易使用:
//a[@href=”http://...“]
谢谢dave,但我仍然不明白为什么要这样使用text()方法,而不应该是text('administration')?在这种情况下,您不需要使用
包含
。您可以使用
//a[text()='Administration']
代替。谢谢dave,但我仍然不明白为什么你用text()方法,不应该是text('Administration')?你是对的,在这种情况下你不需要使用
contains
。你可以用
//a[text()='Administration']
代替。
<html>
  <body>
    <div id="outer_wrapper">
      <div id="container">
        <div id="header">
          <div id="menunav">
            <ul>                                
              <li><a title="Login page" href="[dest]">Login</a></li>                              
              <li><a title="" href="[dest]">Sitemap</a></li>
              **<li><a title="" href="[dest]">Administration</a></li>**
            </ul>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>