试图找到“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内部的内容(从上到下)
发布于 2018-04-25 11:40:10
因此,基本上,使用xpath,您希望复制HTML结构。你需要的是:
//div[@id='contact-link']/a这将返回div下的a href。假设它只有1,那就是我们要走的路。如果你想更进一步,试着:
//div[@id='contact-link']/a[@title='Contact Us']发布于 2018-04-25 15:29:12
虽然您已经接受了这个答案,但我想强调一下关于Xpath和cssSelector的一些要点。您应该始终选择cssSelector而不是Xpath:
下面是满足您的需求的cssSelector:
div[id='contact-link']>a代码:
Driver.FindElement(By.CssSelector("div[id='contact-link']>a")).Click();有关cssSelector:selectors.asp与cssSelector之间的差异的更多信息,您可以从以下中读取它: post:Diff between Xpath and cssSelector
https://stackoverflow.com/questions/50021252
复制相似问题