如何使用Watin启动新的IE会话

时间:2011-04-20 11:14:42

标签: c# session cookies watin

我需要知道如何使用新会话启动浏览器实例。我试图清除cookie并清除缓存,但这并不能满足我的需要。

在我的情况下,我将产品添加到购物篮,然后关闭浏览器,然后使用另一个添加不同产品的网址,但旧产品仍然在购物篮中。

6 个答案:

答案 0 :(得分:5)

对于IE6-7,您应该在这样的新流程中启动一个新的浏览器会话:

var ie = new IE("yoururl", true);

对于IE8-9,您应该在创建新的IE实例之前在settings类上设置no-merge选项:

Settings.MakeNewIe8InstanceNoMerge = true;
var ie = new IE("yoururl");

答案 1 :(得分:0)

确保您正确关闭浏览器(即关闭所有选项卡和窗口,包括下载等) - 查看任务管理器以查看它是否仍在运行。会话可能不是基于cookie的(例如,它可以在处理请求的同一进程中跟踪),清除浏览器缓存不会以任何方式影响打开的会话。

假设您正在开发asp.net应用程序或网站,您可以尝试右键单击系统托盘中的ASP.NET Development Server图标并将其停止,然后重新运行您的项目。这应该会杀死所有会议。

答案 2 :(得分:0)

我们在这里遇到了同样的问题。 IE在其所有浏览器实例上重用会话。如果您想要新会话,请执行以下操作:

Alt(菜单) - >档案 - >新会议

检查this blog for more info

答案 3 :(得分:0)

会话由Cookie管理,您可以清除所有Cookie或只关注相关网站。

尝试搜索IE Clearing cookies

答案 4 :(得分:0)

IE 9还有一种不清除所有cookie的方法。 如果从IE 9的“选项”菜单中打开“清除Cookie”对话框,您会注意到第一个选项显示“保存收藏夹网站数据”。保持这种不受控制,你通常清除cookie,关闭浏览器应该工作。

如果这有帮助,请告诉我,我认为这应该可以解决问题;)

答案 5 :(得分:0)

我很快就会在WatiN中尝试这个,但只是使用我的命令行开关进行测试,看起来我可以使用

打开多个实例
iexplore.exe -private -nomerge

并且每个实例都不会干扰其他实例。

这意味着它允许您使用同一网站上的不同登录进行登录,并且它们不会相互干扰。

这需要进一步验证,但到目前为止似乎有效。

更新:我发现WatiN的这个旧补丁为watin lib添加了隐私功能,它似乎目前不在发行版中 - http://sourceforge.net/tracker/?func=detail&aid=3013950&group_id=167632&atid=843730