Selenium 安装和简单使用的实现
作者:程序猿杂记 时间:2023-12-01 07:22:55
一、简介
Selenium是一个用于Web应用程序测试的工具。
Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Firefox,Safari,Chrome,Opera等。
在爬虫上用来模拟正常用户访问网页并获取数据。
二、安装(以Chrome为例)
浏览器安装
windows下安装就不多说了,以下为服务器(Centos7)的安装步骤
#下载安装包到同级目录下
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
#安装
yum install ./google-chrome-stable_current_x86_64.rpm
Selenium安装
pip install selenium
驱动下载
selenium是通过ChromeDriver调用的Chrome浏览器(其他主流浏览器也有相应驱动),所以需要下载ChromeDriver,而且ChromeDriver版本需要与Chrome的版本对应,版本错误的话则会运行报错。
(1)查看Chrome浏览器版本
Windows系统查看方法
:打开Chrome浏览器 > 右上角三个点 > 设置 > 关于Chrome
Centos7 查看方法
:google-chrome --version
(2)下载相应版本的驱动
下载地址:
Chrome浏览器驱动(ChromeDriver):http://npm.taobao.org/mirrors/chromedriver/
备用地址
Firefox浏览器驱动(GeckoDriver):https://github.com/mozilla/geckodriver/releases
IE浏览器驱动:http://selenium-release.storage.googleapis.com/index.html
Edge浏览器驱动:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Opera浏览器驱动:https://github.com/operasoftware/operachromiumdriver/releases
PhantomJS浏览器驱动:https://phantomjs.org/
找到相应的版本:
可以看到我的Chrome版本为78.0.3904.108
,在上述网址中找到对应的版本,对应大版本(例:78)即可。
里边有四个文件,前三个对应相应的系统(不用区分64位还是32位),notes.txt
文件里说明了更新内容和支持版本
(3)ChromeDriver安装
Mac/Linux:下载完成解压后,将文件移动至/usr/local/bin
目录中,则可以正常使用
Windows:下载完成解压后,将文件移动到一个配置了环境变量的文件夹中,例如你的Python安装文件夹。
三、 简单使用
这是一个打开百度首页,在输入框中输入‘平头哥儿'的例子。
import time
from selenium import webdriver
# 打开一个Chrome浏览器
driver = webdriver.Chrome() #Chrome浏览器
#driver = webdriver.Chrome(r'ChromeDriver路径') #还可以指定路径
#driver = webdriver.Firefox() # Firefox浏览器
#driver = webdriver.Ie() # IE浏览器
#driver = webdriver.Edge() # Edge浏览器
#driver = webdriver.Opera() # Opera浏览器
#driver = webdriver.PhantomJS() # PhantomJS浏览器
# 请求百度首页
driver.get('https://www.baidu.com')
time.sleep(5) #方便演示,等待五秒
#找到输入框位置,并输入'平头哥儿',百度特性(输入完内容会自动查)
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('平头哥儿')
time.sleep(5) #方便演示,等待五秒
driver.quit() #关闭全部窗口
Selenium文集传送门:
标题 | 简介 |
---|---|
Python爬虫 - Selenium(1)安装和简单使用 | 详细介绍Selenium的依赖环境在Windows和Centos7上的安装及简单使用 |
Python爬虫 - Selenium(2)元素定位和WebDriver常用方法 | 详细介绍定位元素的8种方式并配合点击和输入、提交、获取断言信息等方法的使用 |
Python爬虫 - Selenium(3)控制浏览器的常用方法 | 详细介绍自定义浏览器窗口大小或全屏、控制浏览器后退、前进、刷新浏览器等方法的使用 |
Python爬虫 - Selenium(4)配置启动项参数 | 详细介绍Selenium启动项参数的配置,其中包括 * 面模式、浏览器窗口大小设置、浏览器User-Agent (请求头)等等 |
Python爬虫 - Selenium(5)鼠标事件 | 详细介绍鼠标右击、双击、拖动、鼠标悬停等方法的使用 |
Python爬虫 - Selenium(6)键盘事件 | 详细介绍键盘的操作,几乎包含所有常用按键以及组合键 |
Python爬虫 - Selenium(7)多窗口切换 | 详细介绍Selenium是如何实现在不同的窗口之间自由切换 |
Python爬虫 - Selenium(8)frame/iframe表单嵌套页面 | 详细介绍如何从当前定位的主体切换为frame/iframe表单的内嵌页面中 |
Python爬虫 - Selenium(9)警告框(弹窗)处理 | 详细介绍如何定位并处理多类警告弹窗 |
Python爬虫 - Selenium(10)下拉框处理 | 详细介绍如何灵活的定位并处理下拉框 |
Python爬虫 - Selenium(11)文件上传 | 详细介绍如何优雅的通过send_keys()指定文件进行上传 |
Python爬虫 - Selenium(12)获取登录Cookies,并添加Cookies自动登录 | 详细介绍如何获取Cookies和使用Cookies进行自动登录 |
Python爬虫 - Selenium(13)设置元素等待 | 详细介绍如何优雅的设置元素等待时间,防止程序运行过快而导致元素定位失败 |
Python爬虫 - Selenium(14)窗口截图 | 详细介绍如何使用窗口截图 |
Python爬虫 - Selenium(15)关闭浏览器 | 详细介绍两种关闭窗口的区别 |
来源:https://blog.csdn.net/weixin_44110998/article/details/103185785


猜你喜欢
解析PyCharm集成GitLab代码仓的问题

Python面向对象编程(二)
python如何实现数组元素两两相加
mysql之TIMESTAMP(时间戳)用法详解

Vue Element前端应用开发之整合ABP框架的前端登录

Python中内置的日志模块logging用法详解

Python基础知识方法重写+文件处理+异常处理

REPAIR TABLE语法介绍——MySQL数据库
SqlServer 2005 中字符函数的应用
详解Python with/as使用说明
mysql事务隔离级别详情

Matplotlib使用字符串代替变量绘制散点图的方法

Myeclipse链接Oracle等数据库时lo exception: The Network Adapter could not establish the connection

关于AnacondaNavigator Jupyter Notebook更换Python内核的问题

SQL Server存储过程入门学习
php操作SVN版本服务器类代码
python语言元素知识点详解
SQL Server Parameter Sniffing及其改进方法

Mysql 服务 1067 错误 的解决方法:修改mysql可执行文件路径

Matplotlib条形图之分组条形图和堆叠条形图详解
