本来尝试用selenium来连接已经打开的浏览器,但是中间却有一个问题一直困扰折磨着我,我按照网上的方法来操作后却一直弹出新的浏览器页面,这让我百思不得其解
经过不断的尝试我终于解决了问题,也搞懂了这个端口连接的一些东西
现在记录下来
首先是端口的设定有一定规则,要在0到65535之间,我们最好用大于1024的(前面的我试了好多个都用不了,没有都试),而且不能与已经存在的端口号重复,查看端口是否存在的命令:netstat -ano | findstr “端口号”,端口号过小会无法连接,端口号过大创建的浏览器页面也无法附上这个端口号,而在程序里的表现就是会重新打开一个页面(就是这个让我一直找不到原因,我看到网上说端口号随便填,然后我就习惯性的填六位数的了【笑哭】)
端口被占用是会有这个报错的
然后还有使用这个selenium控制已经打开的浏览器应该是这个打开方式:
star chromr --remote-debugging-port=10432 --user-date-dir=D:\selenium_data
--user-date-dir=D:\selenium_data是用来储存用户数据,不会和原来浏览器的配置数据混在一起
然后是当用一个端口打开浏览器以后,再次用另一个端口号打开另一个浏览器页面,另一个浏览器页面的端口号还是之前的,只有将打开的浏览器页面全部关闭以后才能设定新的端口号,当然手动默认打开的没有设定调试端口的不计入在内。
看着这些东西好像不多,不过真的找错的时候会特别难受,不懂就什么都找
以上这些就是我通过15432和10252两个端口号试出来的,若有不足的地方还望指正补充
附件:
端口号使用规则:
参考的文章:Selenium 踩坑(1):打开Chrome debugging模式浏览器崩溃问题__黎晟的博客-CSDN博客_selenium浏览器崩溃