美文网首页
Centos7环境selenium+chrome+chromed

Centos7环境selenium+chrome+chromed

作者: frankie_cheung | 来源:发表于2019-04-25 23:13 被阅读0次

这个报错还有可能是:

 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进去
image.png

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

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,还是这个原因,在上面的设置中 设置一下就好了。


参考:
设置普通用户开启更多进程的资料
设置普通用户无法下载更大文件的资料

相关文章

网友评论

      本文标题:Centos7环境selenium+chrome+chromed

      本文链接:https://www.haomeiwen.com/subject/vtztnqtx.html