我使用Selenium WebDriver 3.11.0和Chrome 66并尝试使用以下基于元素文本的css选择器检索元素 -
1
WebElement element = driver.findElement(By.cssSelector("h3:contains('File Downloader')"));
2
WebElement element = driver.findElement(By.cssSelector("h3[text='File Downloader']"));
第3
WebElement element = driver.findElement(By.cssSelector("h3[innertext='File Downloader']"));
它为#1提供了以下错误:
org.openqa.selenium.InvalidSelectorException: invalid selector: An invalid or illegal selector was specified
而#2和#2无法定位元素(NoSuchElementException)
以下是元素的HTML -
<h3>File Downloader</h3>
css是否支持基于文本的检索元素?我想了解现在发生了什么变化,因为在很多帖子中,我可以看到以上三种方式都建议用于根据css选择器中的文本检索元素。