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



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

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

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

所以如果你使用一个驱动程序启动一个会话,你可以保存那个会话ID,然后实例化一个新的驱动程序对象,并给它之前的sessionId。

如果selenium服务器仍在运行该会话,那么当您发送请求时,它不知道您正在使用哪个驱动程序对象。完全可以让100个驱动程序同时使用相同的sessionID !: D

最新更新