WEB自动化(1)环境安装及打开浏览器实例
WEB自动化(2)常用的元素定位方法之xpath详解
WEB自动化(3)PO设计模式原理与实现
WEB自动化(4)使用selenium将网站验证码截图保存为本地图片
WEB自动化(5)获取网站验证码即从验证码截图中获取图片中的字符串
WEB自动化(6)WEB自动化及脚本在Linux系统上正常运行一段时间后报session not created from tab crashed 的错误的解决办法
(1)问题现象
当WEB自动化脚本部署在linux机器上正常运行一段时间后,突然在某个时刻出现如下错误:
> raise exception_class(message, screen, stacktrace)
E selenium.common.exceptions.SessionNotCreatedException: Message: session not created
E from tab crashed
E (Session info: headless chrome=90.0.4430.212)
(2)在linux机器上查看chrome进程是否有很多个
如下,如果发现有大量chrome进程存在,则说明就是这个原因,是chromedriver并没有真正把chrome进程关闭,导致资源泄露
[root@192-168-8-104 shm]# ps -ef | grep chrome
gitlab-+ 300 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=49588
gitlab-+ 316 1 0 Nov08 ? 00:00:00 /usr/bin/chromedriver --port=33556
gitlab-+ 329 1 0 Nov07 ? 00:00:00 /usr/bin/chromedriver --port=36763
gitlab-+ 393 1 0 Nov08 ? 00:00:00 /usr/bin/chromedriver --port=51121
gitlab-+ 409 1 0 Nov07 ? 00:00:00 /usr/bin/chromedriver --port=45146
gitlab-+ 421 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=45352
gitlab-+ 511 1 0 Nov03 ? 00:00:01 /usr/bin/chromedriver --port=43895
gitlab-+ 526 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=45444
gitlab-+ 656 1 0 Nov08 ? 00:00:00 /usr/bin/chromedriver --port=48050
gitlab-+ 668 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=60147
gitlab-+ 749 1 0 Nov07 ? 00:00:00 /usr/bin/chromedriver --port=34563
gitlab-+ 762 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=35717
gitlab-+ 784 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=46400
gitlab-+ 822 1 0 Nov07 ? 00:00:00 /usr/bin/chromedriver --port=39586
gitlab-+ 843 1 0 Nov07 ? 00:00:00 /usr/bin/chromedriver --port=36811
gitlab-+ 858 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=43903
gitlab-+ 872 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=38483
gitlab-+ 911 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=34500
gitlab-+ 913 1 0 Nov07 ? 00:00:00 /usr/bin/chromedriver --port=33110
gitlab-+ 932 1 0 Oct27 ? 00:00:02 /usr/bin/chromedriver --port=40835
gitlab-+ 963 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=52023
gitlab-+ 998 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=45236
gitlab-+ 1017 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=45568
gitlab-+ 1059 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=39995
gitlab-+ 1070 1 0 Nov05 ? 00:00:01 /usr/bin/chromedriver --port=50979
gitlab-+ 1114 1 0 Nov09 ? 00:00:00 /usr/bin/chromedriver --port=36015
(3)解决办法
可手动执行如下命令临时解决一下
ps -ef | grep chrome| grep -v grep | awk '{print $2}'| xargs kill
也可以将此命令设置一个定时任务,定时执行,或者直接将此命令放在CICD流水线中去自动清理
(4)清理之后,再次执行web自动化脚本验证
完美解决!!!