当使用"new FirefoxDriver()"时,我总是得到一个"NoSuchMethodError:org.apache.xpath.XPathContext"

Tes*_*ter 5 selenium xpath nosuchmethoderror selenium-firefoxdriver selenium-webdriver

使用时new FirefoxDriver()我总是得到一个

NoSuchMethodError:org.apache.xpath.XPathContext

(org.apache.xpath中org.apache.xpath.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:115)中的线程"main"java.lang.NoSuchMethodError:org.apache.xpath.XPathContext.(Z)V中的异常位于org.openqa.selenium.firefox.internal.FileExtension.readIdFromInstallRdf(FileExtension.java)的org.apache.xpath.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:184)中的.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:99) :120)org.openqa.selenium.firefox.internal.FileExtension.writeTo(FileExtension.java:60)org.openqa.selenium.firefox.internal.ClasspathExtension.writeTo(ClasspathExtension.java:63)org.openqa. orlen.openqa.selenium.firefox.FirefoxProfile.layoutOnDisk(FirefoxProfile.java:442)中的selenium.firefox.FirefoxProfile.installExtensions(FirefoxProfile.java:464)位于org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection. java:79)在org.openqa.sel的org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:250)enium.remote.RemoteWebDriver.(RemoteWebDriver.java:110)org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:195)org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:190)at at test.PerfTest.main上的org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:107)(PerfTest.java:35))

Erk*_* M. 4

很可能就是xalan.jar这个原因造成的。检查类路径中是否有不同版本的 xalan,并尝试检查 webdriver 是否引用了正确的 jar。你可以试试

System.out.println(new XPathContext().getClass().getProtectionDomain().getCodeSource().getLocation());
Run Code Online (Sandbox Code Playgroud)

检查它正在使用哪个罐子。