有没有办法将 session 继承到 webdriver 中?我做了很多搜索,知道 selenium 不支持连接到已经打开的浏览器。如果我能的话就更好了。但现在我想到了一些解决办法。实际上,我的应用程序以一个快捷方式文件启动,该文件启动 Firefox、点击应用程序 URL、登录、转到仪表板并留给用户使用它。在这种情况下,我不需要在打开的浏览器上工作,如果我只能获取该 Activity session 并在使用 selenium 打开网络驱动程序时设置它,那么我的目的就解决了。甚至手动也可以。由于 selenium 总是打开隐身网络驱动程序窗口,我无法在那里进行该 session 。谁能告诉我如何从已打开的浏览器获取该 session 并在 webdriver 中使用它?任何帮助或建议将不胜感激。
最佳答案
Selenium 只是一个使用 json 有线协议(protocol)接受 http 请求的服务器。 https://code.google.com/p/selenium/wiki/JsonWireProtocol 这是一个 http API。
json 有线协议(protocol)中的每个调用都会向请求添加一个 sessionId 参数。
因此,如果您使用驱动程序启动 session ,则可以保存该 session ID,然后实例化一个新的驱动程序对象并为其提供之前的 sessionId。
如果 selenium 服务器仍在运行该 session ,那么当您发送请求时,它不知道您正在使用哪个驱动程序对象。随意同时拥有 100 个具有相同 sessionID 的驱动程序! :D
关于java - 如何在 webdriver 中使用已打开的浏览器 Activity session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24158698/