快速调试selenium(复用chrome)
场景:当遇到比较麻烦的问题,需要多次调试脚本时,每一次都要耗费很多时间去跑脚本才能到达目标步骤。
以 chrome 浏览器为例,我们需要:
1、chrome 浏览器(最好配置进环境变量,其 exe 文件在桌面谷歌右键属性中打开文件位置中可以找到)
在执行之前我们需要把所有的 chrome 都关闭,然后 cmd 执行如下:
chrome.exe --remote-debugging-port=9222(此时会打开一个浏览器,我们可以手动操作浏览器到达我们想要调试的页面)
2、自动化脚本需要连接刚才设置的浏览器,具体代码如下:
option=webdriver.ChromeOptions()
option.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver=webdriver.Chrome(options=option)
此时,脚本已经连接上我们刚才打开的浏览器,我们就可以对当前浏览器页面进行调试
可能遇到的问题:
脚本报错:cannot connect to chrome at 127.0.0.1:9222
问题分析:该报错是因为9222端口没起来,可以通过访问http://127.0.0.1:9222/json 查看访问是否正常,不正常的话,基本可以确定端口没起来。这大部分原因是chrome程序已经暂用了其他端口
解决办法:需要将其他已经打开的chrome浏览器窗口全部关闭之后,再重新执行步骤一操作,即可解决该报错问题。