这个报错还有可能是:
WebDriverException: Message: unknown error: Chrome failed to start: crashed](https://stackoverflow.com/questions/45954537/webdriverexception-message-unknown-error-chrome-failed-to-start-crashed)
此类报错信息汇总为:启动谷歌浏览器报错了。
但是使用root用户就可以使用,但是普通用户就报错,这个其实和谷歌浏览器的版本和chromedriver的对应关系并不大,搞这个的,大部分都不会犯这样的错误。
这个时候我去centos的谷歌路径下执行命令 提示我:-bash: fork: retry: Resource temporarily unavailable,
网上百度一下 提示是普通用户没有可以开更多进程的权限,所以才导致你无法启动谷歌浏览器(firefox同理),所以我们需要进行设置,让用户可以进行开启更多的进程。
- 设置20-nproc.conf文件
这个文件每个虚拟机都一样,路径在:/etc/security/limits.d下,root用户进行vim编辑
image.png
在root用户下新增这个 - 设置limit.conf文件
路径在/etc/security下,vim limit.con进去

马赛克部分是我的用户名 按照该格式进行写入。
写完之后保存,退出,在推出用户,重新登录。执行命令:
ulimit -a

看我标红的地方是否是你设置的数量,假如是 就没问题了,
- 测试是否成功
1.cd 到Google的chrome路径下,执行google-chrome-stable -h命令,假如没有保错 就差不多是OK啦
2.执行如下.py文件
from selenium import webdriver
import os
import time
from datetime import datetime, timedelta
import requests
import random
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
def login_url():
options = webdriver.ChromeOptions()
options.add_argument('-headless')
#options.add_argument('--no-sandbox')
driver = webdriver.Chrome(chrome_options=options,executable_path='/usr/local/bin/chromedriver')
driver.get('https://www.baidu.com')
print(driver.current_url)
login_url()
假如打印百度的网址出来了 那就证明是OK啦
另外假如你在Linux下载文件 例如使用wget下载超过某个内存就不让下载了,例如10000kb,还是这个原因,在上面的设置中 设置一下就好了。
网友评论