Skip to content
This repository has been archived by the owner on Nov 29, 2018. It is now read-only.

HtmlUnitDriver support for CSS 3 selectors #1298

Closed
lukeis opened this issue Mar 2, 2016 · 2 comments
Closed

HtmlUnitDriver support for CSS 3 selectors #1298

lukeis opened this issue Mar 2, 2016 · 2 comments

Comments

@lukeis
Copy link
Member

lukeis commented Mar 2, 2016

Originally reported on Google Code with ID 1298

What steps will reproduce the problem?

The following code attempts to use the CSS 3 :nth-child selector but fails with a TestCSSParseException:
--------------------------------------------------------------------------------
  public static void main(String[] args) {
    WebDriver driver = new HtmlUnitDriver(true);
    driver.get("http://www.google.com");
    WebElement td;

    // CSS 3 selector; currently fails with TestCSSParseException
    td = driver.findElement(By.cssSelector("form[name='f'] td:nth-child(2)"));

    // Ersatz demonstrating the correct behavior
    td = driver.findElements(By.cssSelector("form[name='f'] td")).get(1);

    System.out.println("Number of descendant <input> elements: " + td.findElements(
        By.tagName("input")).size());
  }

--------------------------------------------------------------------------------

What is the expected output? What do you see instead?
The above CSS 3 selector works fine when using, for example, document.querySelectorAll
in Firefox.  WebDriver throws the following exception:

Exception in thread "main" com.steadystate.css.sac.TestCSSParseException: Error in
pseudo class or element. Invalid token "2". Was expecting one of: <S>, ")", <IDENT>.
    at com.steadystate.css.parser.AbstractSACParser.toCSSParseException(AbstractSACParser.java:283)
    at com.steadystate.css.parser.SACParserCSS21.pseudo(SACParserCSS21.java:1458)
    at com.steadystate.css.parser.SACParserCSS21.simpleSelector(SACParserCSS21.java:1120)
    at com.steadystate.css.parser.SACParserCSS21.selector(SACParserCSS21.java:1059)
    at com.steadystate.css.parser.SACParserCSS21.selectorList(SACParserCSS21.java:1009)
    at com.steadystate.css.parser.AbstractSACParser.parseSelectors(AbstractSACParser.java:380)
    at com.steadystate.css.parser.CSSOMParser.parseSelectors(CSSOMParser.java:186)
    at com.gargoylesoftware.htmlunit.html.HtmlPage.querySelectorAll(HtmlPage.java:2307)
    at com.gargoylesoftware.htmlunit.html.HtmlPage.querySelector(HtmlPage.java:2332)
    at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElementByCssSelector(HtmlUnitDriver.java:612)
    at org.openqa.selenium.By$8.findElement(By.java:280)
    at org.openqa.selenium.htmlunit.HtmlUnitDriver$4.call(HtmlUnitDriver.java:1133)
    at org.openqa.selenium.htmlunit.HtmlUnitDriver$4.call(HtmlUnitDriver.java:1130)
    at org.openqa.selenium.htmlunit.HtmlUnitDriver.implicitlyWaitFor(HtmlUnitDriver.java:869)
    at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:1130)
    at org.openqa.selenium.htmlunit.HtmlUnitDriver.findElement(HtmlUnitDriver.java:330)
    at test.HtmlUnitExample.main(HtmlUnitExample.java:16)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:115)


What version of the product are you using? On what operating system?
selenium-2.0b1; Windows XP SP3

Reported by beickhoff on 2011-02-14 20:09:40

@lukeis
Copy link
Member Author

lukeis commented Mar 2, 2016

HtmlUnit is a separate project. Bugs/feature requests should be reported to their tracker:

http://htmlunit.sourceforge.net/submittingBugs.html

Reported by jari.bakken on 2011-02-15 00:34:06

  • Status changed: WontFix
  • Labels added: Component-WebDriver, Browser-HtmlUnit

@lukeis
Copy link
Member Author

lukeis commented Mar 2, 2016

Reported by luke.semerau on 2015-09-17 18:11:56

  • Labels added: Restrict-AddIssueComment-Commit

@lukeis lukeis closed this as completed Mar 2, 2016
@SeleniumHQ SeleniumHQ locked and limited conversation to collaborators Mar 4, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant