1.chrome 现在不允许使用root运行了.

2.无界面 chromedriver 调用chrome 会出错.

<另外一定要匹配 chromedriver和chrome 的版本. 要不会出各种奇怪的问题!!!>

第一个问题解决方案:

新建立一个用户.

runuser -l username -c 'python3 xxx.py'

第二个问题:

1.安装Xvfb和pyvirtualdisplay

yum install xorg-x11-server-Xvfb

pip install pyvirtualdisplay

2.安装firefox和selenium

yum install firefox

pip install selenium

到这里。环境就配置好了。接下来就可以上代码了。

3.示例代码
from pyvirtualdisplay import Display

from selenium import webdriver

display = Display(visible=0, size=(900, 800))

display.start()

driver = webdriver.Firefox()

driver.get('http://www.cnblogs.com')

print driver.title

driver.quit()

display.stop()

runuser 扩展

runuser命令使用一个替代的用户或者组ID运行一个Shell。这个命令仅在root用户时有用。
仅以会话PAM钩子运行,并且没有密码提示。如果用一个非root用户,并且该用户没有权限设置user ID,这个命令将会因为程序没有setuid而失败。因runuser不会运行认证和账户PAM钩子,它比su更底层。

1、runuser 语法

语法与 su 命令基本一样:

-, -l, –login

让shell成为登录shell,用 runuser -l PAM 文件替代默认的;

-g –group=group

指定主要的组;

-G –supp-group=group

指定追加组

-c, –command=COMMAND

使用 -c 传递单个命令到 shell 中,执行命令后,就退出到 root;

–session-command=COMMAND

通过一个单一的命令用 -c 参数到 shell ,不创建一个新的会话;

-f, –fast

通过 -f 参数到 shell (针对 csh 或 tcsh);

-m, –preserve-environment

不重置环境变量;

-p     same as -m

-s, –shell=SHELL

指定执行命令的shell;

2、runuser 样例

runuser -l userNameHere -c '/path/to/command arg1 arg2'
runuser -l oracle -c 'ulimit -SHa'
runuser -s /bin/sh -c "/usr/local/nginx/sbin/nginx"
 

linux 下 命令行中运行 selenium chrome 问题的更多相关文章

  1. Linux下命令行中的复制和粘贴

    安装gpm:yum install -y gpm* 开启gpm服务:systemctl start gpm 按住鼠标左键,选中想要复制的内容,松开就完成复制,再在复制的位置按右键就完成粘贴.

  2. php 运行linux命令 与 linux下命令行执行php

    1.php运行linux命令 exec函数:string exec(string command, string [array], int [return_var]);  执行函数后不输出结果,返回最 ...

  3. 在 Linux/windows下 命令行中使用和执行 PHP 代码[交互式php]

    [注释]在ubuntu下,升级php到7.1版本,虽然提示的是Interactive mode enabled, 但实际上可以直接书写命令,和interactive shell效果一样. 一:wind ...

  4. Linux下命令行安装weblogic10.3.6

    Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...

  5. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  6. 在命令行中运行eclipse中创建的java项目

    在命令行中运行eclipse中创建的java项目 博客分类: java相关 javaeclipse命令行  由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情 ...

  7. Oracle安装后命令行中运行sqlplus / as sysdba出现错误ora-01031:insufficient privileges

    Win10安装Oracle后命令行中运行sqlplus as sysdba出现错误ora-01031insufficient privileges的解决方法 情景描述 错误样例 错误分析 解决方法 情 ...

  8. 命令行中运行Java字节码文件提示找不到或无法加载主类的问题

    测试类在命令行操作,编译通过,运行时,提示 错误: 找不到或无法加载主类 java类 package com.company.schoolExercise; public class test7_3_ ...

  9. pycharm中可以运行的程序,在命令行中运行提示模块不存在的问题

    运行模块(包含main函数的模块),在模块开头添加以下代码,原因是pycharm运行python脚本时,会自动添加以下代码,将当前库加入到系统库目录集合中,在命令行中运行需要手动添加import os ...

随机推荐

  1. 使用yum安装不知道到底安装在什么文件夹

    find /* >yum001    #记录之前的文件夹 find /* >yum002    #记录安装完成后的文件夹 diff yum001 yum002 >yum000     ...

  2. spring-mvc里的 <mvc:resources> 及静态资源访问

    在进行Spring MVC的配置时,通常我们会配置一个dispatcher servlet用于处理对应的URL.配置如下: <servlet> <servlet-name>Sp ...

  3. 第58章 Profile Service - Identity Server 4 中文文档(v1.0.0)

    IdentityServer通常在创建令牌或处理对userinfo或内省端点的请求时需要有关用户的身份信息.默认情况下,IdentityServer仅具有身份验证cookie中的声明,以便为此身份数据 ...

  4. 第一册:lesson 111.

    原文:The most expensive model. question:Can Mr.Frith buy the television on instalments? How does it wo ...

  5. Dapper批量操作实体

    首先要安装 Dapper.Contrib,直接从nuget安装即可. dapper官方文档:http://dapper-tutorial.net/dapper T Get<T>(id); ...

  6. [前端]css前端样式的模块化

    css样式文件结构( 模块划分的单入口 ) common|_ _ _ _ _ _reset.css|_ _ _ _ _ _common.css 公用样式 libs|_ _ _ _ _ _bootstr ...

  7. chrome设置网页编码

    新版的 chrome 没有这个设置选项,可以借助插件 charset 插件实现,到 web store 搜索安装即可.

  8. 杂牌机搞机之旅(一)——获得root权限(刷入magisk)

    刷机不规范,抱机两行泪,谨慎刷机!! 一般获取root权限,我们都是通过软件来获取的,但是,软件破解root的成功率不是很高,现在,android版本普遍5.0+,大名鼎鼎的magisk可以直接获得r ...

  9. 【Javaweb】poi实现通过上传excel表格批量导入数据到数据库

    1.导入poi相关jar包 对于只操作2003及以前版本的excel,只需要导入poi-XXX.jar ,如果还需要对2007及以后版本进行操作,则需要导入 poi-ooxml-XXX.jar poi ...

  10. Linux文件基本操作管理

    这一篇总结Linux系统中文件和目录的创建,复制,移动和重命名,包括删除这些最常用的操作. 创建 1,创建目录 使用命令:mkdir 实践:在根目录下创建一个目录命名为mcgrady 2,创建文件 使 ...