当前位置: 首页 > 编程笔记 >

linux 下selenium chrome使用详解

景景胜
2023-03-14
本文向大家介绍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内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍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 #