OS: Windows 10 pro IDE: Eclipse Neon JDK: version 1.8.0_91 Selenium standalone server: version 3.0.1 phantom.exe: version 2.1.1 Windows phantom.jar: version 1.2.1 TestNG: version 6.9.9
說明: 我試圖與硒的webdriver和Java一起使用phantomJS無頭的瀏覽器。 我需要加載具有證書錯誤的https網址(本網站提供的安全證書不是由可信證書頒發機構頒發)。我需要通過這個問題。 我試圖做到這一點(其他失敗的嘗試中)如下:無法使用硒的webdriver +幻影時加載的HTTPS URL
類initializeTest.java從那裏被運行的TestNG的類的類
public class initializeTest{
public static WebDriver driver = null;
public static WebDriver settingBrowser(String browser) throws InterruptedException {
if(browser.equalsIgnoreCase("phantom")){
File file = new File("C:\\Program Files\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");
System.setProperty("phantomjs.binary.path", file.getAbsolutePath());
DesiredCapabilities capabilitiesPhantomJS = DesiredCapabilities.phantomjs();
capabilitiesPhantomJS.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, new String[] {"--ssl-protocol=tlsv1"});
capabilitiesPhantomJS.setPlatform(Platform.ANY);
capabilitiesPhantomJS.setJavascriptEnabled(true);
capabilitiesPhantomJS.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
driver = new PhantomJSDriver();
}
}
return driver;
}
代碼摘錄
@BeforeTest
public void navigate() throws InterruptedException{
String selectBrowser = "phantom"
this.driver = initializeTest.settingBrowser(selectBrowser);
driver.navigate().to(https://....);
thread.sleep(5000);
System.out.println(driver.getTitle());
System.out.println("Begin 2");
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.urlContains("login"));
System.out.println(driver.getTitle());
}
結果:
1.第一個println運行並且沒有任何內容被打印在控制檯上。
2.打印「開始2」,並且最後一個println未執行(未找到url處的登錄字符串)。
3.第三的println不執行
的原因是該URL沒有加載,雖然我不明白爲什麼。 有沒有人有想法或知道解決方法?
它的工作,謝謝,現在打開頁面。 驅動程序=新PhantomJSDriver(capabilitiesPhantomJS); –
很酷。你能接受答案嗎? –