使用CSS选择器:Selenium Web驱动程序在Google.com上获取关于链接的文本
我是SeleniumWebDriver的新手。 这可能看起来很幼稚,但作为我学习的一部分,我试图在google.com上获得“关于”链接的文本。我只想使用cssSelector.hyperlink执行此操作 到目前为止,我已经尝试了以下多种变体: WebElement we=driver.findelelement(By.cssSelector(“#fbar>a[href='/intl/en/about.html']) 不知何故,每次我都会遇到一个错误,就是找不到元素 有谁能解决这个问题并帮我解释一下如何使用cssSelector实现这个目标使用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']) 不知何故,每次我都会遇到一个错误,就是找不到元素 有谁能解决这个问题并帮我解
谢谢你的CSS有两个问题:
#fbar>a
之间放置空格,因此它正在查找一个a
元素,该元素直接是具有id=“fbar”
href
的文本比您要匹配的文本多#fbar a[href^='/intl/en/about.html']
这修正了1。通过告诉选择器查找元素,该元素是id=“fbar”
(不一定是直系后裔)和2的元素的子元素。正在查找以您要查找的文本开头的href
的匹配项
这是CSS选择器的可靠参考资料:我不熟悉Selenium,但如果您将遇到的错误包括在内,这将非常有帮助。谢谢!这就成功了。但是,“#fbar>a”仍然抛出一个错误,无法定位元素,因为有空格和额外的文本,我尝试了这个“#fbar>a[href^='/intl/en/about.html']