原文地址https://www.cyberlight.xyz/pa...最近尝试在服务器端运行selenium,做这个笔记,期间参考了很多相关教程,感谢各位分享学习记录的网友!由于windows10使用的Chrome,我继续尝试在CentOS上运行,终于成功了!以下为学习记录:环境:CentOS8,Python3.6.81.在CentOS上安装Chrome,请确保身份为root,进入CentOS终端,然后输入wgethttps://dl.google.com/linux/d..._current_x86_64.rpmyuminstall-ygoogle-chrome-stable_current_x86_64.rpm查看chrome版本/opt/google/chrome/chrome-versionPS:chrome卸载后方法yumautoremove-ygoogle-chrome,需要解决无法在root下运行chrome的错误。Chrome安装的根目录默认为/opt/google/chrome/。进入CentOS终端,输入vi/opt/google/chrome/google-chrome将光标移动到最下方,按键盘上的“i”,添加exec-a"$0""$HERE/chrome""$@"--user-data-dir--no-sandbox。整个命令修改为exec-a"$0""$HERE/chrome""$@"–user-data-dir–no-sandbox如图,将下图1改为下图2即可按键盘esc键、:键、w键、q键,然后回车(保存退出)2、安装Chrome驱动,必须按照Chrome版本号安装驱动,因为我的Chrome版本是80.0.3987.132(版本必须正确,否则Python运行会报错)。经过测试,我从官网下载的应该是80.0.3987.16,而不是80.0.3987.106。电脑进入Chrome驱动官网https://chromedriver.chromium.org/downloads在Linux版本上右击,复制链接。(比如我的链接是https://chromedriver.storage.googleapis.com/80.0.3987.16/chromedriver_linux64.zip)进入Centos,切换到系统根目录(注意,不是root根目录)。输入以下命令切换到Chrome安装目录cd/opt/google/chromewget+上面复制的链接(比如我的链接是https://chromedriver.storage.googleapis.com/80.0.3987.16/chromedriver_linux64.zip)wgethttps://chromedriver.storage...._linux64.zip解压下载的zipunzipchromedriver_linux64.zip至此驱动已经安装完成。3.Python测试在Linux下创建一个Python文件fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptionschrome_options=Options()chrome_options.add_argument('--no-sandbox')#让Chrome以root权限运行chrome_options.add_argument('--disable-dev-shm-usage')#不开启图形界面chrome_options.add_argument('--headless')#浏览器不提供可视化页面chrome_options.add_argument('blink-settings=imagesEnabled=false')#NoLoadimages,increasespeedchrome_options.add_argument('--disable-gpu')#Google文档中提到需要添加该属性以避免bugdriver=webdriver.Chrome(chrome_options=chrome_options,executable_path='/opt/google/chrome/chromedriver')#Chrome驱动所在位置,本学习记录安装在Chrome程序根目录下,路径为绝对路径driver.get('https://www.baidu.com')content=driver.page_source.encode('utfIf-8')print(content)返回百度的html源码,说明程序运行正常,可以在linux上使用selenium爬虫PS:如果遇到报错error:DevToolsActivePortfiledoesn'texistwhenrunningselenium,可能是安装的Chrome驱动版本问题是错的!欢迎在评论区分享你的学习记录和解决方法
