css选择器在浏览器中工作,但在Selenium中不工作

时间:2015-08-19 02:37:23

标签: javascript jquery css selenium css-selectors

我正在使用Selenium进行测试自动化,并且通常使用css选择器来定位元素。然而,最近我遇到了一个奇怪的问题。我注意到在某些情况下,当我在浏览器控制台中测试时,css选择器工作正常。例如,要选择多个特定按钮,我会这样做:

(1) $("div.v-app[id^='v-discussions'] .v-button-caption:contains('Add')")

但是当我实际在Selenium中使用它时会返回错误:

Caused by: org.openqa.selenium.InvalidSelectorException: The given selector div.v-app[id^='v-discussions'] .v-button-caption:contains('Add') is either invalid or does not result in a WebElement. The following error occurred:
InvalidSelectorError: An invalid or illegal selector was specified

我还尝试使用querySelector的字符串,并收到“非法字符串”错误:

(2) document.querySelectorAll("div.v-app[id^='v-discussions'] .v-button-caption:contains('Add')")

为什么会这样?

P.S。

这就是每个元素的样子:

<span class="v-button-caption">Add Comment</span>

1 个答案:

答案 0 :(得分:0)

好的去:

WebElement element = driver.findElement(By.className("v-button-caption"));

我在Selenium Webdriver中使用它,对我来说很好用