2014-03-07 42 views
9

我正在爲PhantomJsDriver設置一些功能。PhantomJSDriver爲什麼不使用我設置的功能?

DesiredCapabilities caps = new DesiredCapabilities(); 
caps.setJavascriptEnabled(true); 
caps.setCapability("cssSelectorsEnabled", false); 
caps.setCapability("applicationCacheEnabled", true); 
caps.setCapability("acceptSslCerts",true); 
caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,phantomJsPath); 
this.driver = new PhantomJSDriver(caps); 

然後,我檢查驅動程序正在使用什麼功能:

System.out.println(driver.getCapabilities()); 

輸出:

Capabilities [{ 
platform=XP, 
acceptSslCerts=false, 
javascriptEnabled=true, 
browserName=phantomjs, 
rotatable=false, 
driverVersion=1.1.0, 
locationContextEnabled=false, 
version=1.9.7, 
cssSelectorsEnabled=true, 
databaseEnabled=false, 
handlesAlerts=false, 
browserConnectionEnabled=false, 
proxy={proxyType=direct}, 
nativeEvents=true, 
webStorageEnabled=false, 
driverName=ghostdriver, 
applicationCacheEnabled=false, 
takesScreenshot=true}] 

它顯示:

cssSelectorsEnabled=true, 
applicationCacheEnabled=false, 
acceptSslCerts=false 

爲什麼司機運行沒有我設定的功能?

+0

我有同樣的問題。設置acceptSslCerts = true不起作用 – casper

回答

17

PhantomJS使用不同的機制設定功能

static ArrayList<String> cliArgsCap = new ArrayList<String>(); 
capabilities = DesiredCapabilities.phantomjs(); 
cliArgsCap.add("--web-security=false"); 
cliArgsCap.add("--ssl-protocol=any"); 
cliArgsCap.add("--ignore-ssl-errors=true"); 
capabilities.setCapability("takesScreenshot", true); 
capabilities.setCapability(
    PhantomJSDriverService.PHANTOMJS_CLI_ARGS, cliArgsCap); 
capabilities.setCapability(
    PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_CLI_ARGS, 
     new String[] { "--logLevel=2" }); 
this.driver = new PhantomJSDriver(capabilities); 

有關它的命令行的更多信息,你可以參考http://phantomjs.org/api/command-line.html

2

隨着phantomjsdriver-1.1我必須通過後續的論點得到這個上班。

cliArgsCap.add("--web-security=no"); 
cliArgsCap.add("--ignore-ssl-errors=yes"); 
+0

這是比另一個更好的答案嗎?什麼是'cliArgsCap'?答案中唯一不同的是'false'>'no'和'true'>'yes',它可以在PhantomJS中互換。這不保證有新的答案。 –

+3

爲了得到這個工作,我不得不使用phantomjsdriver-1.1的「否」和「是」,假和真實它沒有工作。 –

相關問題