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"

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM