试图找到“a href”的链接元素。代码段:
<div id="contact-link">
<a href="http://automationpractice.com/index.php?controller=contact" title="Contact Us">Contact us</a>
</div>
我通过以下方式管理:
Driver.FindElement(By.XPath("//*[@title='Contact Us']")).Click();
2。Driver.FindElement(By.XPath("//a[@href='http://automationpractice.com/index.php?controller=contact']")).Click();
3。Driver.FindElement(By.XPath("//*[text()='Contact us']")).Click();
有人可以告诉我如何通过首先获得父div ,然后找到该div中的内容(从顶部到底部)
答案 0 :(得分:1)
基本上,使用xpath,您希望复制HTML结构。你需要的是:
//div[@id='contact-link']/a
这将返回div下的href。假设只有1,这就是要走的路。如果你想进一步,请尝试:
//div[@id='contact-link']/a[@title='Contact Us']
答案 1 :(得分:1)
虽然您已经接受了答案,但我想强调一下有关Xpath和cssSelector的一些观点。您应该始终在 Xpath 上选择 cssSelector :
根据您的要求, cssSelector :
div[id='contact-link']>a
代码:
Driver.FindElement(By.CssSelector("div[id='contact-link']>a")).Click();
有关cssSelector的更多信息:https://www.w3schools.com/cssref/css_selectors.asp 对于Xpath和cssSelector之间的差异,您可以从 SO 帖子中读取它:Diff between Xpath and cssSelector