使用CSS选择器在Google.com上获取关于链接的文本:Selenium Web驱动程序

时间:2014-10-06 16:36:26

标签: selenium css-selectors

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

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

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

任何人都可以解决这个问题并帮助我解释如何使用cssSelector来实现这个目标吗?

由于

1 个答案:

答案 0 :(得分:1)

您的CSS存在两个问题:

  1. 您没有在#fbar>a之间添加空格,因此它正在寻找a元素,该元素直接是具有id="fbar"的元素的子元素
  2. href的文字多于您尝试匹配的文字
  3. 这个CSS选择器应该适合你:

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

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

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