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

Posted lvusyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"

 

 

 

以上是关于linux 下 命令行中运行 selenium chrome 问题的主要内容,如果未能解决你的问题,请参考以下文章

在windows命令行中如何运行c程序的文本

如何在命令行中运行 Photoviewer.dll

Linux终止前台进程的命令

在 linux 命令行中使用蓝牙低功耗

linux:命令行中对文件进行编辑后怎么退出到命令行界面

DOS命令行中的双引号