安装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内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!
本文向大家介绍linux下source命令使用详解,包括了linux下source命令使用详解的使用技巧和注意事项,需要的朋友参考一下 Linux Source命令及脚本的执行方式解析 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用source命令,如:source /etc/profile 对source进行了学习,并且用它与sh 执行脚本进行了对比,现在
本文向大家介绍Linux 下java jps命令使用解析详解,包括了Linux 下java jps命令使用解析详解的使用技巧和注意事项,需要的朋友参考一下 在Linux环境下显示一个进程的信息大家可能一直都在使用ps命令,比如用以下命令来显示当前系统执行的Java进程: 针对java的进程,jdk1.5以后提供了一个查看当前所有java进程pid的小工具。 位置 JAVA_HOME/bin/目录下
本文向大家介绍详解linux下mnt目录作用,包括了详解linux下mnt目录作用的使用技巧和注意事项,需要的朋友参考一下 linux下mnt目录的作用: mount 英文解释: 登上; 爬上; 攀登; 骑上; 乘上; 跨上 可直接理解为“挂载” 挂接光驱、USB设备的目录,加载后,会在mnt里多出相应设备的目录。mnt是mount的缩写。 Mount命令: 需要注意的: 1、挂载点必须是一个
本文向大家介绍Linux下监视NVIDIA的GPU使用情况详解,包括了Linux下监视NVIDIA的GPU使用情况详解的使用技巧和注意事项,需要的朋友参考一下 在使用TensorFlow跑深度学习的时候,经常出现显存不足的情况,所以我们希望能够随时查看GPU时使用率。如果你是Nvidia的GPU,那么在命令行下,只需要一行命令就可以实现。 1. 显示当前GPU使用情况 Nvidia自带了一个nvi
本文向大家介绍LINUX 下软件包的安装与使用详解,包括了LINUX 下软件包的安装与使用详解的使用技巧和注意事项,需要的朋友参考一下 LINUX下软件包的安装与使用 1、安装RPM包 rpm -ivh 包全名 2、查询某个包是否安装 rpm -q 包名 3、查询已安装的包的信息(主要看版本) rpm -qi 包名 4、查询已安装包的安装位置 rpm -ql 包名 5、查询某个包需
我们对service和chkconfig两个命令都不陌生,systemctl 是管制服务的主要工具, 它整合了chkconfig 与 service功能于一体。 systemctl is-enabled iptables.service systemctl is-enabled servicename.service #查询服务是否开机启动 systemctl enable *.service #