linux 下 命令行中运行 selenium chrome 问题

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"
时间: 2024-10-20 13:03:21

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

linux下命令行连接FTP是遇到的错误(425 Failed to establish connection)

linux下命令行连接FTP是遇到的错误(425 Failed to establish connection) 首先FTP的运行模式有主动模式和被动模式两种 然后笔者在工作中搭建了ftp,但是没有开启他的被动模式. 然后server端的防火墙开放了21端口. 因此客户端能连上server,但是输入命令会提示.(首先要数据passive off命令关闭客户端以被动模式连接server端) 原因是ftp在主动模式下是通过21端口进行登陆的,但是后续是通过20端口与客户端进行数据交换. 因此笔者在这

Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤

Yii中的资源是和Web页面相关的文件,可为CSS文件,JavaScript文件,图片或视频等,资源放在Web可访问的目录下,直接被Web服务器调用. 有时候有些功能需要做到计划任务中去,因此就需要yii能用php命令去执行.yii2.0是支持php命令行运行的,操作方法如下: 在yii根目录下面有个"yii"文件(不是"yii.bat"),这个文件就是入口.然后"commands"目录下会默认有个"HelloController.ph

Linux下命令行cURL的10种常见用法示例

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. 语法: # curl [option] [url] 1. 获取页面内容 当我们不加任何选项使用 curl 时,默认会发送 GET 请求来获取链接内容到标准输出. curl http://www.baidu.com 2. 显示 HTTP 头 如果我们只想要显示 HTTP 头,而不显示文件内容,可以使用 -I 选项

linux下命令行运行jar文件出错

我将程序打包成了jar包,在windows下执行时正确的,但是放在linux下执行就不对了.windows目录下包括jar包和一个lib文件夹,此文件夹下是需要的其他类库.linux目录是一样的结构.但是在linux下执行,可以执行main,但是找不到类.这是MANIFEST文件内容:Manifest-Version: 1.0Class-Path: lib\axis.jar lib\commons-discovery-0.2.jar lib\javax.wsdl_1.6.2.v201012040

linux下命令行的彩色终端

长期在LINUX命令行下做操作的人,可能都会有一个共同的观点--"毁眼睛"在默认黑白前背景色的窗口下操作,很容易造成视觉疲劳.及时你像丁胖胖一样调整了终端程序的前背景色,仍然无法解决一个问题.就是消耗更少视觉细胞来更快速的找到你所要的答案. 从上图,我们很明显的感觉第一个命名输出中,我们要查找比如PYENV_SHELL这个环境的变量明显要比第二个命令输出要容易,其实我只添加一个外部命令lolcat lolcat起初是通过RUBY语言开发的一个工具,地址:https://github.c

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

1. 前言2. Java以及Ant安装3. Android SDK安装4. Android工程的基础命令 一.前言 本篇博文记录了Linux下全命令行的Android开发环境的搭建,本文内容基于以下文章: http://zyqhi2010.blog.163.com/blog/static/171589378201261093235290/   ( Linux中搭建基于Emacs的Android开发环境 )https://linux.cn/article-5966-1.html   (打造一个全命

linux下命令行工具gcp显示拷贝进度条

1.环境: ubuntu16.04 Linux jello 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 2.背景: 最近在linux下拷贝文件时由于文件比较大,好久shell都没有动静,因此找到了一个可以显示进度条的命令行拷贝工具gcp 3.安装 sudo apt-get install gcp -y

bc:linux下命令行计算器

在linux下,存在一个命令行的计算器:bc.该程序一般随发行版发布. bc计算器能够执行一些基本的计算,包括+,-,×,\,%. 这些计算不经针对十进制,还可以使用二进制,八进制,十六进制,并且可以混用! 启动 启动时,在终端输入bc命令即可 退出 退出时可以使用Ctrl+D,也可以输入quit. 精度 bc计算器的精度与数学意义上的是一样的.需要注意的在执行除法时的使用. 实例

linux下命令行操作快捷键及技巧

历史相关命令 !!:执行上一条命令 !num:执行历史命令中第num条命令 !-num:执行历史命令中倒数第num条命令 !?string?:执行最近一条包含有string字符串的命令 Ctrl+r:搜索上一条匹配的命令 !$:代表上一个命令的最后一个字符串 Esc+.:显示上一个命令的最后一个字符串 移动相关命令 Ctrl+a:将光标移到行首 Ctrl+e:将光标移到行尾 Ctrl+右箭头:向右移动一个单词 Ctrl+左箭头:向左移动一个单词 Ctrl+f:向右移动一个字符,相当于按向右按键