一、问题

在docker上跑Selenium+ChromeDriver+Chrome无头模式报错:

UnknownError: unknown error: session deleted because of page crash
from tab crashed
(Session info: chrome=43.0.2357.81)
(Driver info: chromedriver=2.15.322448 (52179c1b310fec1797c81ea9a20326839860b7d3),platform=Linux 3.13.0-32-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 53 milliseconds
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50'
System info: host: 'zelenium', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-32-generic', java.version: '1.7.0_80'
Session ID: b12eb3c43351dad58746798c40078ef9
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{platform=LINUX, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={userDataDir=/tmp/.com.google.Chrome.11yHIh}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=43.0.2357.81, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, applicationCacheEnabled=false, takesScreenshot=true}]

二、分析

/dev/shm太小了,要扩容

三、解决方案

3.1 如果环境是Kubernetes(k8s)请参考:Kubernetes(k8s) docker 修改 /dev/shm大小

3.2 如何修改/dev/shm大小?

/dev/shm在/etc/fstab中挂载,对应tmpfs,实际使用的是内存的空间。默认情况下,/dev/shm为物理内存大小的一半。因而,调整/dev/shm大小有两种方式:

  • 加大Linux的物理内存

  • 在/etc/fstab中明确指定/dev/shm的挂载sizes大小参数

[root@centos-fuwenchao mntsda3]# df -h /dev/shm
Filesystem            Size  Used Avail Use% Mounted on
tmpfs                 935M  228K  935M   1% /dev/shm
[root@centos-fuwenchao mntsda3]# vi /etc/fstab
      
      2 #
      3 # /etc/fstab
      4 # Created by anaconda on Fri Nov  1 21:18:42 2013
      5 #
      6 # Accessible filesystems, by reference, are maintained under '/dev/disk'
      7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
      8 #
      9 UUID=8e319772-a274-4031-a53f-1178b3ab4de6 /                       ext4    defaults        1 1
     10 UUID=ad4de750-9575-4040-a403-08c0642f0f2c swap                    swap    defaults        0 0
     11 tmpfs                   /dev/shm                tmpfs   defaults        0 0
     12 devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
     13 sysfs                   /sys                    sysfs   defaults        0 0
     14 proc                    /proc                   proc    defaults        0 0
[root@centos-fuwenchao mntsda3]# cp /etc/fstab /etc/fstab.20140218
[root@centos-fuwenchao mntsda3]# vi /etc/fstab
      1
      2 #
      3 # /etc/fstab
      4 # Created by anaconda on Fri Nov  1 21:18:42 2013
      5 #
      6 # Accessible filesystems, by reference, are maintained under '/dev/disk'
      7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
      8 #
      9 UUID=8e319772-a274-4031-a53f-1178b3ab4de6 /                       ext4    defaults        1 1
     10 UUID=ad4de750-9575-4040-a403-08c0642f0f2c swap                    swap    defaults        0 0
     11 tmpfs                   /dev/shm                tmpfs   defaults,size=1024M        0 0
     12 devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
     13 sysfs                   /sys                    sysfs   defaults        0 0
     14 proc                    /proc                   proc    defaults        0 0

重新挂载

[root@centos-fuwenchao mntsda3]# mount -o remount /dev/shm
[root@centos-fuwenchao mntsda3]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.7G  4.6G  4.7G  50% /
tmpfs                 1.0G  228K  1.0G   1% /dev/shm
/dev/sr0              4.1G  4.1G     0 100% /media/CentOS_6.4_Final
/dev/sda3              38G  176M   36G   1% /mnt/mntsda3

参考:

UnknownError: session deleted because of page crash from tab crashed的更多相关文章

  1. 2017.11.11 详谈application、session、request和page的作用范围

    今天在图书馆遇到了问题 不知道怎么选择session还是request Web应用中的JSP和servlet都是由web服务器来调用,Jsp和Servlet之间通常不会相互调用,那么Jsp和Servl ...

  2. application、session、request、page的作用范围、Application,Session和Cookie的区别

    Web应用中的JSP和servlet都是由web服务器来调用,Jsp和Servlet之间通常不会相互调用,那么Jsp和Servlet之间交换数据就要用到application.session.requ ...

  3. docker运行puppeteer出现Page crash解决方案

    Docker默认文件空间64MB.如果puppeteer运行的时候超过这个内存就出现了.Page crash.可以使用docker run --shm-size=256m指定一个更大的内存即可.

  4. JSP的内置对象application、session、request、page的作用域

    1.application内置对象的类型名称为ServletContext. 2.session内置对象的类型名称为HttpSession. 3.application作用域:对应整个应用上下文. a ...

  5. JSP内置对象--pageContent,request,response,session,application,config,out,page,exception

  6. 搭建谷歌浏览器无头模式抓取页面服务,laravel->php->python->docker !!!

    背景: 公司管理系统需要获取企业微信页面的配置参数如企业名.logo.人数等信息并操作,来隐藏相关敏感信息并自定义简化企业号配置流程 第一版已经实现了扫码登录获取cookie,使用该cookie就能获 ...

  7. 非Page类使用session(Httpcontext.session和page.session区别)

    ASP.NET中Session高级使用技巧 在开发Aspx .NET软件时,有时需要把常用的东西封装到一个非PAGE类中,文章介绍在非Page类中使用Session的方法. 一.PAGE参数法: 1. ...

  8. Design Doc: Session History for Out-of-Process iframes

    Design Doc: Session History for Out-of-Process iframes Charlie Reis, May 2014 This document outlines ...

  9. strust2中使用session

    在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到1.通过ActionContext class中的方法getSession得到2.Action实现org.apa ...

随机推荐

  1. python3 ssl导入失败

    make LibreSSL 2.6.4 and earlier do not provide the necessary APIs /root/Python-3.7.0/build/lib.linux ...

  2. useMemo优化React Hooks程序性能(九)

    useMemo主要用来解决使用React hooks产生的无用渲染的性能问题.使用function的形式来声明组件,失去了shouldCompnentUpdate(在组件更新之前)这个生命周期,也就是 ...

  3. Python classes to extract information from the Linux kernel /proc files.

    python/python-linux-procfs/python-linux-procfs.git - Python classes to extract information from the ...

  4. firewalld 实现nat 转发外网转发到内网 实现访问外网端口到内网

    第0步骤:  开启转发生效 [root@node178.oldboy.com ~]# cat /proc/sys/net/ipv4/ip_forward1 [root@node178.oldboy.c ...

  5. Android开发Camera2相关

    Android自定义相机 https://github.com/miqt/camera2 Camera2必知必会 https://www.cnblogs.com/fuyaozhishang/p/975 ...

  6. Python3基础 函数 参数 在设定缺省值的情况下指明参数类型

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  7. Python高级笔记(六)-- property属性【重要】

    1. property属性 目的:简化逻辑流程 class Goods(object): @property def size(self): return 100 obj = Goods() ret ...

  8. Qt编写气体安全管理系统12-设备双击

    一.前言 在编写这个项目的过程中,有个得到客户夸赞的小功能就是,设备按钮双击,在离线的时候是双击重连设备,在线的时候是双击弹出具体详情界面,回控设备,参数设置等.在modbus设备通信过程中,设定了超 ...

  9. [Sklearn] Linear regression models to fit noisy data

    Ref: [Link] sklearn各种回归和预测[各线性模型对噪声的反应] Ref: Linear Regression 实战[循序渐进思考过程] Ref: simple linear regre ...

  10. python对 windows系统监控插件

    在python编程的windows系统监控中,需要监控监控硬件信息需要两个模块:WMI 和 pypiwin32 .