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

使用CSS选择器:Selenium Web驱动程序在Google.com上获取关于链接的文本,selenium,css-selectors,Selenium,Css Selectors,我是SeleniumWebDriver的新手。 这可能看起来很幼稚,但作为我学习的一部分,我试图在google.com上获得“关于”链接的文本。我只想使用cssSelector.hyperlink执行此操作 到目前为止,我已经尝试了以下多种变体: WebElement we=driver.findelelement(By.cssSelector(“#fbar>a[href='/intl/en/about.html']) 不知何故,每次我都会遇到一个错误,就是找不到元素 有谁能解决这个问题并帮我解

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

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

不知何故,每次我都会遇到一个错误,就是找不到元素

有谁能解决这个问题并帮我解释一下如何使用cssSelector实现这个目标


谢谢你的CSS有两个问题:

  • 您没有在
    #fbar>a
    之间放置空格,因此它正在查找一个
    a
    元素,该元素直接是具有
    id=“fbar”
  • href
    的文本比您要匹配的文本多
  • 此CSS选择器应适用于您:

    #fbar a[href^='/intl/en/about.html']
    
    这修正了1。通过告诉选择器查找
    元素,该元素是
    id=“fbar”
    (不一定是直系后裔)和2的元素的子元素。正在查找以您要查找的文本开头的
    href
    的匹配项


    这是CSS选择器的可靠参考资料:

    我不熟悉Selenium,但如果您将遇到的错误包括在内,这将非常有帮助。谢谢!这就成功了。但是,“#fbar>a”仍然抛出一个错误,无法定位元素,因为有空格和额外的文本,我尝试了这个“#fbar>a[href^='/intl/en/about.html']