Selenium | Docker里的Chrome浏览器自动化过程报错
记录下Docker里的Chrome浏览器自动化过程报错以及解决方法。
session deleted because of page crash
用Docker启动的Chrome容器,可用空间默认只有64M,太小了容易崩溃。
在创建容器时设置shm-size为500M即可,如果是命令行启动,加上--shm-size="500M"
。
‘WebDriver’ object has no attribute ‘execute_cdp_cmd’
在连接远程Chrome的情况下,调用execute_cdp_cmd
执行cdp命令(比如隐藏Selenium特征)时会报这个错,应该是远程浏览器不支持此函数直接执行cdp命令,一切行为都要通过url进行。
可以自己封装一个函数来在远程浏览器上执行cdp命令:
1 | def execute_cdp_cmd(driver, cmd, params={}): |
对比:
1 | # 本地函数 |
结构还是比较相似的。