linux 下selenium chrome使用详解
作者:等一念
这篇文章主要介绍了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://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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!