我想自动化一个网站。我打算使用的工作流程是:登录(窗口)->保存cookie->启动新的无头驱动程序并分配cookie->启动自动化。 直到自动化开始,这才起作用,然后标题中出现错误。 (如果我不切换会话,自动化的东西将起作用)。 预先感谢!
//login
Set<Cookie> allCookies = driver.manage().getCookies();
driver.quit();
FirefoxOptions options = new FirefoxOptions();
driver = new FirefoxDriver(); // for testing purpose I deleted the headless options
openUrl(url);
for(Cookie cookie : allCookies){
driver.manage().addCookie(cookie);
}
driver.navigate().to(url);
// automation stuff
答案 0 :(得分:0)
我认为您已经回答了这个问题。错误消息指出您没有会话,通常由driver.quit()调用。 正如您自己说的那样,如果您不切换会话(不确定您的意思),它将起作用。
在某些时候,您将切换到未实例化的空驱动程序。
看着上面的代码,我不知道什么
openUrl(url)
可以,但是如果此方法位于无法访问实例化驱动程序的其他页面对象中(从构造函数访问),则您可能正在尝试导航至空驱动程序上的url。
或者,或者您要添加一些不良的Cookie