基于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)

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

(0)

相关推荐

  • Linux配置实现免密钥登录过程解析

    1.ssh命令 在linux中,可以通过ssh命令来登录另一台服务器.打开两台linux虚拟机,一台Linux01的ip为192.168.226.128,另一台linux02为192.168.226.129, 开机后在linux01终端输入: ssh 192.168.226.129 ,然后会提示输入linux02的登录密码,输入后就可以在linux01上登录linux02了,可以进行命令操作,ssh命令的两种方式 ssh ip地址(默认是root用户) 以root用户的身份登录 ssh 用户名@

  • linux 下selenium chrome使用详解

    安装chrome 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 安装chromedriver 淘宝源(推荐) wget http://np

  • win10环境下vscode Linux C++开发代码自动提示配置(基于WSL)

    安装 vs code, 安装 c/c++ 插件 C/C++ IntelliSense,TabNine,Bracket Pair Colorizer. 在win10下打开linux子系统设置(具体搜索教程),在应用商店安装ubutu16. 打开File->Preferences->settings,编辑settings.json. copy 以下的内容替换settings.json "C_Cpp.default.compilerPath": "/usr/bin/g+

  • Linux下环境变量配置方法小结(.bash_profile和.bashrc的区别)

    在linux系统下,如果下载并安装了应用程序,在启动时很有可能在键入它的名称时出现"command not found"的提示内容.如果每次都到安装目标文件夹内,找到可执行文件 来进行操作就太繁琐了,这种情况下就涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分. 环境变量配置的两个方法: 1)修改/etc/profile文件 推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,缺点是可能会给系统带来安全性问题. 这里是针对所有

  • linux上传并配置jdk和tomcat的教程详解

    准备工作 1.开启虚拟机 2. git工具 root账号登陆 使用root账号登陆 登陆后:使用linux命令: cd /opt/ 打开opt目录 mkdir app 在opt下创建app目录(压缩包解压到这儿) mkdir software在opt下创建software目录(上传的压缩包放在这儿) mkdir war 在opt下创建war 目录(上传的项目放在这儿) 关闭linux防火墙 防火墙相关设置 查看防火墙状态 service iptables status 关闭防火墙状态 servi

  • Linux平台Zabbix Agent的安装配置方法

    这里简单总结一下Linux平台Zabbix Agent的安装配置,实验测试的Zabbix版本比较老了(Zabbix 3.0.9),不过版本虽然有点老旧,但是新旧版本的安装步骤.流程基本差别不大.这里的总结仅仅当成一个操作手册,后续会更新或添加部分内容. Linux版本众多,下面文档仅仅在RHEL.CentOS几个版本测试过.不同版本可能安装等有所差别,后续再补充完善. 1:首先检查zabbix_server的版本 # zabbix_server --version zabbix_server (

  • Linux进程管理工具supervisor安装配置教程

    环境:CentOS 7 官方文档:http://supervisord.org/ 安装 # yum install -y epel-release # yum install -y supervisor 启动 # supervisord -c /etc/supervisord.conf # ps -ef | grep supervisor root 19703 1 0 17:32 ? 00:00:00 /usr/bin/python /usr/bin/supervisord -c /etc/su

  • 基于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 ./g

  • vscode 配置java环境并调试运行的详细过程

    下载vscode以及安装jdk 度娘一大堆 这里不介绍 jdk最好安装jdk11及以上 vscode扩展插件有关 在vscode扩展插件中安装图示插件包,该包基本覆盖java所需的所有内容 新建一个vscode工程,并添加HelloJava.java文件 public class HelloJava{ public static void main(String[] args) { System.out.println("hello world"); } } PS:文件名要与类名一致

  • linux配置jdk环境变量简单教程

    前期准备 window安装VMware VMware安装linux系统 jdk-8u60-linux-x64.tar.gz (下载链接:链接: https://pan.baidu.com/s/1o88U0wq 密码: g5d9 ) linux 压缩解压命令 http://www.jb51.net/article/103658.htm linux常用命令之一: vi命令 linux下的source命令 http://www.jb51.net/article/103657.htm 方法/步骤 需要配

  • linux配置java环境变量详细过程

    直接上实现过程: 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车.之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到 任何一个目录下. 二. 需要配置的环境变量 1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相

  • 配置java环境变量(linux mac windows7)

    linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车.之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到 任何一个目录下. 二. 需要配置的环境变量 1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路

  • Linux中Go环境配置和GoModule常用操作

    我为什么要学习go语言 当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单.高效.内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的).到2014年,Go项目拥有了上百的核心贡献者,其生态圈中拥有了数不尽的第三方库和工具(https://godoc.org/),更有很多大公司开始或迁移到go语言,一些重量级的开源云项目,诸如Docker和Kubernetes 都是用Go语言实现的,一些运作基础设置的公司,诸如Google.CloudFlare.C

  • 基于Linux中vnc配置端口号的修改方法

    vnc的默认端口是自己配置的,并不是这有一个端口号. 通过打开/etc/sysconfig/vncservers. 这里就配置了2个桌面,一个桌面号是1, 一个是2. 这里的配置的参数 VNCSERVERS="2:root" VNCSERVERARGS[2]="-geometry 1280x800" 就可以看出,这里就配置了2个桌面,一个桌面号是1, 一个是2.还有远程桌面的分辨率 想要修改vncserver的配置,先找配置文件路径 [root@jtsyb01 lo

  • Linux下配置jdk环境的方法

    1.去官网下载适用于linux的jdk包,如jdk-8u162-linux-x64.tar.gz 2.创建目录,将jdk包拷贝到该目录下,如home/haha/user/java 3.在控制台中进入该目录,执行tar zxvf jdk-8u162-linux-x64.tar.gz 进行解压 4.配置环境变量: 打开控制台,运行sudo vi /etc/profile,在文件中插入如下配置内容,然后保存退出(先按esc, 再按:wq) JAVA_HOME=/home/haha/user/java/

  • Linux中Bash环境变量的配置方法

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. 以下是几种shell版本,bash是默认的: sh(全称 Bourne Shell): 是UNIX最初使用的 shell,而且在每种 UNIX 上都可以使用. Bourne Shell 在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种 shell. bash(全称 Bourne Again Shell): LinuxOS 默认的,它是 Bou

  • Linux配置C++11编译环境的方法

    配置yum源 此处我们使用163的yum源,配置如下 首先备份/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份),以下为下载链接 https://mirrors.163.com/.help/CentOS6-Base-163.repo 运

随机推荐