使用XPath告诉Selenium点击位置?
我刚接触这些东西不久,但我最近学了一些关于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”的链接。
希望这些能帮你找到正确的方法。