如何在webdriver中使用已打开的浏览器活动会话

时间:2014-06-11 08:59:42

标签: java selenium selenium-webdriver session-cookies browser-cache

有没有办法将会话继承到webdriver?我做了很多搜索,并且知道selenium不支持连接已经打开的浏览器。如果可以的话会更好。但现在我想到了一些工作。实际上我的应用程序以一个快捷方式文件启动,该文件启动firefox,点击应用程序URL,登录,转到仪表板并让用户使用它。在这种情况下,我不需要在打开的浏览器上工作,如果我只能获得活动会话并在用selenium打开webdriver时设置它,那么我的目的就解决了。甚至可以手动也。由于selenium始终打开隐身webdriver窗口,我无法在那里进行该会话。任何人都可以告诉我如何从已经打开的浏览器中获取该会话并在webdriver中使用它吗?任何帮助或建议都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

Selenium只是一个使用json有线协议接受http请求的服务器。 https://code.google.com/p/selenium/wiki/JsonWireProtocol 这是一个http API。

json有线协议中的每个调用都会向请求添加一个sessionId参数。

因此,如果您使用驱动程序启动会话,则可以保存该会话ID,然后实例化新的驱动程序对象,并从之前为其提供sessionId。

如果selenium服务器仍在运行该会话,那么当您发送请求时,它不知道您正在使用哪个驱动程序对象。随意拥有100个同时具有相同sessionID的驱动程序! :d

相关问题