为什么Selenium findElement(By.css( "span:contains(string)" ) 不起作用?



我正在尝试让硒网络驱动程序单击网站上的特定元素。该元素字面意思是文本。

现在javascript中的代码const spanElement = driver.findElement(By.css("span:contains('TEXT')"));给我抛出了一个错误:

InvalidSelectorError: Given css selector expression "span:contains('TEXT')" is invalid: InvalidSelectorError: 'span:contains('TEXT')' is not a valid selector: "span:contains('TEXT')"

使用Selenium IDE和css=span:contains('Strategy Tester')找到该元素。

  • 硒-网络驱动程序 v3.6.0
  • 壁虎司机
  • 火狐 v60.0.2

我在这里错过了什么?

不知道为什么这在Selenium IDE中有效,但这不是一个有效的CSS选择器。您可以在Selenium WebDriver中使用XPath做同样的事情。

By.xpath("//span[contains(.,'TEXT')]";

最新更新