我正在使用使用硒协议的phantomjs webdriver渲染网页.当我尝试渲染网页时,出现以下错误
RemoteWebDriver.get(url)
尽管我的webdriver正在运行.
我也尝试过重新启动phantomjs webdriver.
org.openqa.selenium.UnsupportedCommandException: Variable Resource Not Found - {"headers":{"Accept-Encoding":"gzip,deflate","Connection":"Keep-Alive","Content-Length":"39","Content-Type":"application/json; charset=utf-8","Host":"10.20.1.239:9517","User-Agent":"Apache-HttpClient/4.5.5 (Java/1.8.0_171)"},"httpVersion":"1.1","method":"POST","post":"{\"url\":\"http://example.com/\"}","url":"/session/07e53c90-6b45-11e9-892c-4faf7180871b/url","urlParsed":{"anchor":"","query":"","file":"url","directory":"/session/07e53c90-6b45-11e9-892c-4faf7180871b/","path":"/session/07e53c90-6b45-11e9-892c-4faf7180871b/url","relative":"/session/07e53c90-6b45-11e9-892c-4faf7180871b/url","port":"","host":"","password":"","user":"","userInfo":"","authority":"","protocol":"","source":"/session/07e53c90-6b45-11e9-892c-4faf7180871b/url","queryKey":{},"chunks":["session","07e53c90-6b45-11e9-892c-4faf7180871b","url"]}}
Command duration or timeout: 10.20 seconds
Build info: version: 'unknown',revision: 'unknown',time: 'unknown'
System info: host: 'ip-10-20-1-73.ec2.internal',ip: '10.20.1.73',os.name: 'Linux',os.arch: 'amd64',os.version: '3.10.0-862.2.3.el7.x86_64',java.version: '1.8.0_171'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities [{applicationCacheEnabled=false,rotatable=false,handlesAlerts=false,databaseEnabled=false,version=2.1.1,platform=LINUX,browserConnectionEnabled=false,proxy=Proxy(direct),nativeEvents=true,acceptSslCerts=false,driverVersion=1.2.0,locationContextEnabled=false,webStorageEnabled=false,browserName=phantomjs,takesScreenshot=true,driverName=ghostdriver,javascriptEnabled=true,cssSelectorsEnabled=true}]
Session ID: 07e53c90-6b45-11e9-892c-4faf7180871b
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_171]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_171]
at
最佳答案
RemoteWebDriver是关键字/保留的单词.因此,RemoteWebDriver实例的名称应不同.此外,在调用RemoteWebDriver时,您需要传递Selenium Grid Hub的URL和DesiredCapabilities实例作为强制参数,并且可以使用以下(基于Windows)解决方案:
File path=new File("C:\\Utility\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");
System.setProperty("phantomjs.binary.path",path.getAbsolutePath());
DesiredCapabilities capabilities = DesiredCapabilities.phantomjs();
capabilities.setPlatform(Platform.XXX);
driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"),capabilities);
driver.get("https://www.google.co.in");
System.out.println(driver.getTitle());
driver.quit();