Javascript 为什么seleniums findElement(By.css)(“span:contains(string)”不起作用?
我试图让SeleniumWebDriver单击网站上的特定元素。该元素实际上是文本 现在javascript中的代码Javascript 为什么seleniums findElement(By.css)(“span:contains(string)”不起作用?,javascript,css,selenium,firefox,webdriver,Javascript,Css,Selenium,Firefox,Webdriver,我试图让SeleniumWebDriver单击网站上的特定元素。该元素实际上是文本 现在javascript中的代码const spanElement=driver.findElement(By.css(“span:contains('TEXT'));向我抛出了一个错误: InvalidSelectorError: Given css selector expression "span:contains('TEXT')" is invalid: InvalidSelectorError: 'sp
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')
查找该元素
- selenium webdriver v3.6.0
- 壁虎河
- firefox v60.0.2
我在这里遗漏了什么?不确定为什么在Selenium IDE中可以这样做,但这不是一个有效的CSS选择器。您可以在Selenium WebDriver中使用XPath做同样的事情
By.xpath("//span[contains(.,'TEXT')]";
谢谢。这很有效!有没有任何方法可以使用
.By.css()
来查找实际文本?我读到.By.css()
比.By.xpath()
工作得更快,而且我想尝试使用.By.css()
尽可能多。无论如何,xpath
现在可以使用,我现在就使用它。谢谢。@r.roger,恐怕不行。CSS不会通过包含的文本来查找元素。根据实例的不同,可能有一些方法可以唯一地查找元素,而不需要使用CSS通过文本来查找元素,但这是根据具体情况而定的。