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

Selenium 安装和简单使用的实现

Centos7 查看方法:google-chrome --version

Selenium 安装和简单使用的实现

(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)即可。

Selenium 安装和简单使用的实现

里边有四个文件,前三个对应相应的系统(不用区分64位还是32位),notes.txt文件里说明了更新内容和支持版本

Selenium 安装和简单使用的实现

(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

标签:Selenium,安装,使用
0
投稿

猜你喜欢

  • 解析PyCharm集成GitLab代码仓的问题

    2022-06-08 07:36:15
  • Python面向对象编程(二)

    2022-11-27 23:17:55
  • python如何实现数组元素两两相加

    2023-02-21 04:39:46
  • mysql之TIMESTAMP(时间戳)用法详解

    2024-01-13 16:06:42
  • Vue Element前端应用开发之整合ABP框架的前端登录

    2024-05-10 14:18:43
  • Python中内置的日志模块logging用法详解

    2023-07-25 05:04:12
  • Python基础知识方法重写+文件处理+异常处理

    2022-09-20 06:43:43
  • REPAIR TABLE语法介绍——MySQL数据库

    2012-01-05 19:08:59
  • SqlServer 2005 中字符函数的应用

    2024-01-16 09:01:32
  • 详解Python with/as使用说明

    2022-10-29 08:01:26
  • mysql事务隔离级别详情

    2024-01-17 13:56:23
  • Matplotlib使用字符串代替变量绘制散点图的方法

    2021-04-18 06:10:11
  • Myeclipse链接Oracle等数据库时lo exception: The Network Adapter could not establish the connection

    2023-07-19 12:40:02
  • 关于AnacondaNavigator Jupyter Notebook更换Python内核的问题

    2022-11-17 07:21:59
  • SQL Server存储过程入门学习

    2024-01-28 20:12:13
  • php操作SVN版本服务器类代码

    2023-09-08 07:22:41
  • python语言元素知识点详解

    2023-07-30 03:33:08
  • SQL Server Parameter Sniffing及其改进方法

    2024-01-28 02:56:30
  • Mysql 服务 1067 错误 的解决方法:修改mysql可执行文件路径

    2024-01-27 04:06:09
  • Matplotlib条形图之分组条形图和堆叠条形图详解

    2021-08-10 15:16:24
  • asp之家 网络编程 m.aspxhome.com