测试人社区

selenium中浏览器的复用一直报错

按照老师说的方式
1、Chrome也配到环境变量了
2、在终端执行了这个命令

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome -remote-debugging-port=9222

3、然后运行代码,就一直报错,提示unknown error: cannot connect to chrome at 127.0.0.1:9222
代码如下

之前运行也出现过这个问题,后来不知道为啥就莫名的好了,然后现在再也不行了。我记得之前运行成功的时候,在终端输入命令的时候,还会提示在监听什么的。现在没有这个提示了

chrome浏览器正常启动但是脚本报错:cannot connect to chrome

确定启动chrome远程调试模式的命令是否正确
  • Windows/Linux命令为:chrome --remote-debugging-port=9222 (9222为端口号,可以换成任意一个没有被占用的端口)
  • Mac命令为:Google\ Chrome --remote-debugging-port=9222 (9222为端口号,可以换成任意一个没有被占用的端口) (注意命令中间的反斜线)
确定命令启动前是否已将chrome进程都关闭
  • 在通过命令启动远程调试的chrome之前,需要关闭的不只是chrome浏览器,还有chrome后台进程、浏览器插件等
  • 部分版本的chrome中,在chrome设置-高级里有一项设置可以关闭掉再试一下,能解决不少后台进程问题(不是每个chrome都有这个设置,没有就算了不影响)image
确认脚本中地址是否填写正确
  • options中需要设置debugger_address参数,参数地址中端口号与启动调试模式命令中配置的端口号一致(如果地址使用localhost的话还要确认在hosts中,localhost是否配置到了127.0.0.1)
确定调试模式浏览器启动成功
  • 调试模式启动浏览器后,通过浏览器访问127.0.0.1:9222(9222为端口号,对应之前启动命令中配置的端口号),如果页面没有报错,那么说明调试模式的浏览器启动成功

你的启动命令写错了 --remote 少写了一个横线

好的 谢谢老师 命令中确实少一个-,并且当时没有退出进程,只是关闭了浏览器