在使用 IEDriverServer 可執行文件時,從理論上來講是可經過它來建立並使用多個同時存在的 Internet Explorer Driver 實例的。但在實際使用過程當中,老是會碰到與 cookie 相關的問題、窗口焦點的問題、瀏覽器多實例等可能會面臨的問題。若是真想但願使用 Internet Explorer Driver 的多個實例而且儘量的避免前述可能遇到的問題,建議考慮 RemoteWebDriver 的方式,並經過多臺虛擬機來隔離干擾web
有一種解決方案來應對使用 Internet Explorer Driver 多個實例時的 cookie 共享問題,即在Internet Explorer 啓動時先清理回話中的髒數據。可經過將 IE_ENSURE_CLEAN_SESION 參數傳遞給 Internet Explorer Driver 並在此模式下啓動 Internet Explorer Driver 來達到目的,代碼以下瀏覽器
pachage com.learningselenium.simplewebdriver;cookie
import org.openqa.selenium.*;spa
import org.openqa.selenium.ie.InternetExplorerDriver;rem
import org.openqa.selenium.remote.DesiredCapabilities;get
public class testInternetExplorerDriver{虛擬機
public static void main(String[] args){selenium
System.setProperty("webdriver.ie.driver", "D:\Driver\IEDriverServer_ Win32_ 2.37.0_latest\IEDriverServer.exe");it
//設置DesiredCapabilities 的屬性包含IE_ENSURE_CLEAN_SESSION 以確保在瀏覽器實例啓動以前清理會話的髒數據class
DesiredCapabilities capab = DesiredCapabilities.internetExplorer();
capab.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
Webdriver driver = new InternetExplorerDriver(capab);
driver.get("http://www.baidu.com");
}
}