使用XPath告诉Selenium点击位置?

1 投票
1 回答
3605 浏览
提问于 2025-04-16 02:18

我刚接触这些东西不久,但我最近学了一些关于Python的知识,你能帮我找出正确的XPath,让Selenium可以点击吗?

我试过这种方法,但显然没成功 :(

self.selenium.click("xpath=//html/body/div/div/div/div[4]/ul/li[3]/a")

如果你在想我那个丑陋的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>

1 个回答

6

下面是一些可以用来点击 Administration 链接的例子(根据你的XPath和HTML片段)。正确的Selenium命令是 click

  • link=Administration - 通过链接文本找到这个链接。
  • css=a:contains(Administration) - 使用CSS选择器找到包含“Administration”文本的链接。
  • css=#menunav a:nth-child(3) - 找到菜单导航中第三个链接。
  • xpath=id('menunav')/descendant::a[3] - 通过XPath找到菜单导航下的第三个链接。
  • //a[text()='Administration'] - 找到文本正好是“Administration”的链接。
  • //a[contains(text(), 'Administration')] - 找到文本中包含“Administration”的链接。

希望这些能帮你找到正确的方法。

撰写回答