how to use querySelector in webdriver

3,572 views
Skip to first unread message

MIC

unread,
Dec 8, 2011, 1:09:09 PM12/8/11
to Selenium Users
I am using webdriver 2.15 in my work.
today I find that , webdriver can not use 'contains' by cssSelector.
Then i use querySelector, but it doesn' work.

there's my code:

WebElement el1 = (JavascriptExecutor)driver.executeScript("return
document.querySelector(label:contains('username'));")

then i got error message:

org.openqa.selenium.WebDriverException: JavaScript error (WARNING: The
server did not provide any stacktrace information)
Command duration or timeout: 23 milliseconds
Build info: version: '2.15.0', revision: '15105', time: '2011-12-08
09:56:43'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1',
java.version: '1.6.0_27-ea'
Driver info: driver.version: RemoteWebDriver
at
org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:
147)
at
org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:
113)
at
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:
424)
at
org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:
337)
at TestUnit.run(TestUnit.groovy:43)


Question:
how to use querySelector by webdriver? (IE9/win7X64/jdk1.6/
selenium2 v2.15)

Simon Stewart

unread,
Dec 9, 2011, 8:25:32 AM12/9/11
to seleniu...@googlegroups.com
Try using "By.cssSelector(your_expression)" FWIW, it looks like you've omitted the required quotes around "label:contains("username"))". Also, be very wary of using JQuery's sizzle locators instead of proper CSS selectors. 

Regards,

Simon


--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To post to this group, send email to seleniu...@googlegroups.com.
To unsubscribe from this group, send email to selenium-user...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/selenium-users?hl=en.


MIC

unread,
Dec 10, 2011, 12:56:26 AM12/10/11
to Selenium Users
I had try this:
By.cssSelector(label[text*=username])

but it doesn't work.
That why i want to use JavascriptExecutor.

Reply all
Reply to author
Forward
0 new messages