linux 下selenium chrome使用详解


Posted in Python onApril 02, 2020

安装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://npm.taobao.org/mirrors/chromedriver/2.41/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
move chromedriver /usr/bin/
chmod +x /usr/bin/chromedriver

编写selenium自动化脚本

#!/usr/bin/python
# -*-coding:utf-8-*-

import re, os
import json
import time
import random
import requests
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support.wait import TimeoutException
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.select import Select

binary_location = '/usr/bin/google-chrome'
chrome_driver_binary = '/usr/bin/chromedriver'

chrome_options = Options()
chrome_options.binary_location = binary_location
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-dev-shm-usage')

chromedriver = chrome_driver_binary
os.environ["webdriver.chrome.driver"] = chromedriver

BROWSER = webdriver.Chrome(executable_path='/usr/bin/chromedriver', chrome_options=chrome_options)

WAIT = WebDriverWait(BROWSER, 5)
URL = "http://www.baidu.com"
BROWSER.get(URL)
..........

踩到的坑一:

中文乱码,解决方法:

centos:

yum groupinstall fonts

ubuntu:

sudo apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy

踩到的坑二:

不能截图,抛time out异常

selenium.common.exceptions.TimeoutException: Message: timeout: Timed out receiving message from renderer: 10.000

解决方法:

options = webdriver.ChromeOptions()
options.add_argument("--headless")
options.add_argument("start-maximized")
options.add_argument("enable-automation")
options.add_argument("--no-sandbox")
options.add_argument("--disable-infobars")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-browser-side-navigation")
options.add_argument("--disable-gpu")
driver = webdriver.Chrome(chrome_options=options)
driver.set_window_size(1024, 768)
driver.get_screenshot_as_file(STATIC_FOLDER + home_img_url)
driver.close()

到此这篇关于linux 下selenium chrome使用详解的文章就介绍到这了,更多相关linux selenium chrome内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python 安装setuptools和pip工具操作方法(必看)
May 22 Python
Python IDLE入门简介
Dec 08 Python
python使用xslt提取网页数据的方法
Feb 23 Python
django框架基于模板 生成 excel(xls) 文件操作示例
Jun 19 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
Aug 09 Python
python opencv实现证件照换底功能
Aug 19 Python
python爬虫 线程池创建并获取文件代码实例
Sep 28 Python
python第三方库学习笔记
Feb 07 Python
Python cookie的保存与读取、SSL讲解
Feb 17 Python
Python 实现微信自动回复的方法
Sep 11 Python
python爬虫用scrapy获取影片的实例分析
Nov 23 Python
Opencv实现二维直方图的计算及绘制
Jul 21 Python
Python HTTP下载文件并显示下载进度条功能的实现
Apr 02 #Python
python实现将range()函数生成的数字存储在一个列表中
Apr 02 #Python
Python 给下载文件显示进度条和下载时间的实现
Apr 02 #Python
python求前n个阶乘的和实例
Apr 02 #Python
python实现将字符串中的数字提取出来然后求和
Apr 02 #Python
python对指定字符串逆序的6种方法(小结)
Apr 02 #Python
在python中实现求输出1-3+5-7+9-......101的和
Apr 02 #Python
You might like
php-perl哈希算法实现(times33哈希算法)
2013/12/30 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
PHP列出MySQL中所有数据库的方法
2015/03/12 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
2020/12/15 PHP
JavaScript中的Array对象使用说明
2011/01/17 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
create-react-app安装出错问题解决方法
2018/09/04 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
浅述python中深浅拷贝原理
2018/09/18 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
python爬取招聘要求等信息实例
2020/11/20 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
T3官网:头发造型工具
2019/12/26 全球购物
电气自动化自荐信
2013/10/10 职场文书
教师自我剖析材料范文
2014/09/30 职场文书
医者仁心观后感
2015/06/17 职场文书
Python 实现Mac 屏幕截图详解
2021/10/05 Python
介绍一下28个JS常用数组方法
2022/05/06 Javascript
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技