有没有办法清除会话数据以确保每次启动干净的会话?

Ree*_*ez0 4 java selenium-webdriver

对于 IE,您将使用如下功能:

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
Run Code Online (Sandbox Code Playgroud)

并可能与

 driver.manage().deleteAllCookies(); 
Run Code Online (Sandbox Code Playgroud)

如何使用 Chrome 和 ChromeDriver 实现这一点?

Deb*_*anB 5

当我们与我们合作时,Internet Explorer Driver我们使用该领域IE_ENSURE_CLEAN_SESSION

IE_ENSURE_CLEAN_SESSION

根据JavaDocsIE_ENSURE_CLEAN_SESSION是定义在IEDriverServer启动Internet Explorer之前是否清理浏览器缓存的能力,配置如下:

DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
Run Code Online (Sandbox Code Playgroud)

现在让我们在来看看GeckoDriver下面的WebDriver Spec

GeckoDriver/ moz:profile/rust_mozprofile

如果您仔细查看geckodriver日志,您会发现每次geckodriver调用moz:profile都会删除一个新的,并且详细信息rust_mozprofile出现在以下行中:

Marionette  CONFIG  Matched capabilities: {"browserName":"firefox","browserVersion":"56.0","platformName":"windows_nt","platformVersion":"6.2","pageLoadStrategy":"normal","acceptInsecureCerts":false,"timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"rotatable":false,"specificationLevel":0,"moz:processID":5848,"moz:profile":"C:\\Users\\AtechM_03\\AppData\\Local\\Temp\\rust_mozprofile.OfFuR9ogm33d","moz:accessibilityChecks":false,"moz:headless":false}
Run Code Online (Sandbox Code Playgroud)

此日志清楚地表明 Marionette 挖出一个新"moz:profile":"C:\\Users\\AtechM_03\\AppData\\Local\\Temp\\rust_mozprofile.OfFuR9ogm33d"配置,并且此配置由 WebDriver 实例处理,即GeckoDriver.

您可以moz:profileIs it Firefox or Geckodriver, which creates “rust_mozprofile” directory讨论中找到更详细的讨论。


ChromeDriver

ChromeDriver遵循相同的WebDriver Spec确实遵守(将遵守)同一套房。


如果您正在使用任何存储的FirefoxProfileChromeProfileWebDriver将选取现有的配置文件以Stored Browser Configurations供重用。


driver.manage().deleteAllCookies();

无论是新的/现有的FirefoxProfile还是ChromeProfile添加以下行:

driver.manage().deleteAllCookies(); 
Run Code Online (Sandbox Code Playgroud)

只有 cookie 被删除才被恢复以支持 Active Browser Session