linux selenium chrome linux 下selenium chrome使用详解
等一念 人气:0安装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()
加载全部内容