基于linux配置selenium环境并实现运行

 更新时间:2020年08月20日 10:02:46   作者:crystal1126  
这篇文章主要介绍了基于linux配置selenium环境并实现运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、在linux中使用selenium

1、安装chrome

用下面的命令安装Google Chrome

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

也可以先下载至本地,然后安装

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install ./google-chrome-stable_current_x86_64.rpm

安装必要的库

yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts

2、安装 chromedriver(末尾附chrome和chromedriver的对应版本)

chrome官网

wget https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip

淘宝源(推荐)

wget http://npm.taobao.org/mirrors/chromedriver/2.41/chromedriver_linux64.zip

将下载的文件解压,放在如下位置

unzip chromedriver_linux64.zip
mv chromedriver /usr/bin/

给予执行权限

chmod +x /usr/bin/chromedriver

3、运行代码,查看是否成功(python下)

from selenium import webdriver
driver = webdriver.Chrome()

------------2019年兼容版本对照表-----------
ChromeDriver 78.0.3904.11 (2019-09-12)---------Supports Chrome version 78
ChromeDriver 77.0.3865.40 (2019-08-20)---------Supports Chrome version 77
ChromeDriver 76.0.3809.12 (2019-06-07)---------Supports Chrome version 76
ChromeDriver 75.0.3770.8 (2019-04-29)---------Supports Chrome version 75
ChromeDriver v74.0.3729.6 (2019-03-14)--------Supports Chrome v74
ChromeDriver v2.46 (2019-02-01)----------Supports Chrome v71-73

二、chrome无界面模式运行

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
 
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')#解决DevToolsActivePort文件不存在的报错
chrome_options.add_argument('window-size=1920x3000') #指定浏览器分辨率
chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度
chrome_options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
 
#创建浏览器对象
driver = webdriver.Chrome(executable_path=path, chrome_options=chrome_options)#executable_path:浏览器驱动路径
driver.get(url)

三、无界面模式下下载文件

以前,以无头模式运行的Chromedriver无法正确下载文件,原因是它稀疏地解析提供给它的首选项文件。无头Chrome团队的工程师建议使用DevTools的“ Page.setDownloadBehavior”来解决此问题。此变更列表实现此修复程序。下载的文件默认为当前目录,可以在实例化chromedriver实例时使用download_dir进行设置。还添加了测试以确保正确的下载功能。

params = {'behavior': 'allow', 'downloadPath': r'C:\Users\Debanjan.B\Downloads'}
driver.execute_cdp_cmd('Page.setDownloadBehavior', params)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Centos7下面如何配置静态IP

    Centos7下面如何配置静态IP

    本篇文章主要介绍了Centos7下面如何配置静态IP,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • linux使用QQ实现网络邮件报警功能

    linux使用QQ实现网络邮件报警功能

    这篇文章主要介绍了linux使用QQ实现网络邮件报警功能,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Linux(ubuntu)下实现增加/删除文件权限

    Linux(ubuntu)下实现增加/删除文件权限

    下面小编就为大家分享一篇Linux(ubuntu)下实现增加/删除文件权限,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • linux配置ntp服务器的方法

    linux配置ntp服务器的方法

    下面小编就为大家带来一篇linux配置ntp服务器的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Ubuntu虚拟机下使用cutecom进行串口通信的方法

    Ubuntu虚拟机下使用cutecom进行串口通信的方法

    今天小编就为大家分享一篇关于Ubuntu虚拟机下使用cutecom进行串口通信的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • linux环境配置nginx导致页面不刷新的解决方法

    linux环境配置nginx导致页面不刷新的解决方法

    这篇文章介绍了linux环境配置nginx导致页面不刷新的解决方法,有需要的朋友可以参考一下
    2013-09-09
  • Linux命令替换rm命令防止误删除

    Linux命令替换rm命令防止误删除

    这篇文章主要介绍了Linux命令替换rm命令防止误删除的相关资料,需要的朋友可以参考下
    2016-01-01
  • linux缩减XFS分区格式的根目录

    linux缩减XFS分区格式的根目录

    大家好,本篇文章主要分享的是linux缩减XFS分区格式的根目录,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 详解CentOS下Nginx如何禁止IP访问

    详解CentOS下Nginx如何禁止IP访问

    服务器的安全相信是每位运维人员最关心的问题,不知道大家在使用的时候会不会遇到很多的恶意IP攻击,最近公司的服务器就遇到了这个问题,这个时候就要用到Nginx 禁止IP访问了。本文介绍了详细的步骤,有同样问题的朋友们可以参考学习。
    2016-10-10
  • Ubuntu如何轻松编译openJDK详解

    Ubuntu如何轻松编译openJDK详解

    这篇文章主要给大家介绍了关于Ubuntu如何轻松编译openJDK的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06

最新评论