【问题标题】:Get text of About link, on Google.com using CSS selector : Selenium Web driver使用 CSS 选择器在 Google.com 上获取关于链接的文本:Selenium Web 驱动程序
【发布时间】:2014-11-30 23:29:52
【问题描述】:

我是 Selenium Webdriver 的新手。 这可能看起来很幼稚,但作为我学习的一部分,我试图在 google.com 上获取“关于”链接的文本。我只想使用 cssSelector.hyperlink 做到这一点 到目前为止,我已经尝试了以下多种变体:

WebElement we= driver.findElement(By.cssSelector("#fbar>a[href='/intl/en/about.html']"));

不知何故,我每次都遇到错误,无法找到元素。

谁能解决这个问题并帮助我解释我们如何使用 cssSelector 来实现这一点?

谢谢

【问题讨论】:

  • 我对 Selenium 不熟悉,但如果您包含遇到的错误,它很可能会很有帮助。

标签: selenium css-selectors


【解决方案1】:

您的 CSS 存在两个问题:

  1. 您没有在#fbar>a 之间放置空格,因此它正在寻找一个a 元素,该元素直接是具有id="fbar" 的元素的子元素
  2. href 的文本比您要匹配的要多

这个 CSS 选择器应该适合你:

#fbar a[href^='/intl/en/about.html']

这修复了 1. 通过告诉选择器寻找 a 元素,该元素是具有 id="fbar" 的元素的子元素(不一定是直接后代)和 2. 寻找 href 的匹配项以您要查找的文本开头。

这是 CSS 选择器的可靠参考:http://www.w3schools.com/cssref/css_selectors.asp

【讨论】:

  • 谢谢!那成功了。但是,“#fbar> a”仍然抛出错误,无法定位元素,带有空格和额外的文本,我尝试了这个“#fbar > a[href^='/intl/en/about.html']
猜你喜欢
  • 2020-07-17
  • 1970-01-01
  • 2020-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-24
  • 2023-04-04
  • 1970-01-01
相关资源
最近更新 更多