selenium如何接管其它桌面app弹出的浏览器
一个不知道啥东西的公司桌面exe的程序,有界面的,在界面上可以点一个按钮打开浏览器,就是弹出来浏览器。现在我想用selenium接管这个弹出的浏览器。但是由于selenium接管的都是开启了远程调试端口的浏览器,这个弹出来的,并没有开启调试端口,就算开启了也不知道啥端口。
现在已知的解决办法就是在浏览器启动之前给它加上远程参数
--remote-debugging-port=9526 --user-data-dir="D:\xxxx"
然后再用selenuim接管
网上说的是给桌面的浏览器快捷启动图标右键编辑属性,在exe路径后加上 -- remote参数,将chrome的路径添加到环境变量path里,打开cmd,执行命令:
chrome.exe --remote-debugging-port=9222 --user-data-dir="D:\selenium_chrome"
执行后会打开一个浏览器页面。
-remote-debugging-port:指定任何打开的端口。
-user-data-dir:指定创建新Chrome配置文件的目录。它是为了确保在单独的配置文件中启动chrome,不会污染你的默认配置文件。
但是那个只是针对你手工启动浏览器起作用,你要去点按个浏览器快捷图标。现在是别的程序启动了浏览器(可能是通过cmd命令start +url方式),它没有加remote,就算加了我也不知道什么端口。
不要考虑,把弹出来的浏览器的地址拷贝出来,这个无效,这个弹出浏览器器的应用程序,是比较重要的,他会监听你的操作,你要是把url拷贝到你手动打开的浏览器是不起作用的,业务系统无法办公