【Python从入门到进阶】34、selenium基本概念及安装流程

接上篇《33、使用bs4获取星巴克产品信息》
上一篇我们介绍了如何使用bs4来解析星巴克网站,获取其产品信息。本篇我们来了解selenium技术的基础。

一、什么是selenium?

Selenium是一种用于自动化Web浏览器操作的开源工具。它提供了一组API(应用程序接口),使开发人员能够使用多种编程语言(如Python、Java、C#等)来控制浏览器的行为。

Selenium最初是为了进行Web应用测试而创建的,但它也可以用于执行各种Web自动化任务,如模拟用户操作、填写表单、点击按钮、提取数据等。

Selenium通过与浏览器进行通信,在浏览器中模拟用户行为。它可以打开浏览器,加载URL,查找和操作页面元素,发送键盘输入,执行JavaScript代码等。
Selenium支持多种浏览器,包括Chrome、Firefox、Safari、Edge等,每个浏览器都有对应的驱动程序,用于与Selenium进行交互。

常用的Selenium组件有:

1、Selenium WebDriver:用于编写测试脚本,控制浏览器行为,并获取网页内容。(老版本是Selenium RC)
2、Selenium Grid:用于在不同的机器上并行执行测试,以加快执行速度。
3、Selenium IDE:一个浏览器插件,可用于录制和回放用户在浏览器中的操作,方便快速生成测试脚本。
总之,Selenium是一个功能强大的工具,可用于自动化Web浏览器操作,帮助开发人员和测试人员自动执行各种Web任务和测试。

二、为什么要使用selenium?

使用Selenium有以下几个主要原因:

1、自动化测试:Selenium最初是为了进行Web应用的自动化测试而创建的。通过编写测试脚本,可以模拟用户在浏览器中的操作,自动执行各种测试用例,包括点击按钮、填写表单、验证页面元素等。这可以大大提高测试效率和准确性,并且可以在不同的浏览器和操作系统上运行测试。

2、跨浏览器兼容性:Web应用在不同的浏览器中可能会有不同的呈现和行为。使用Selenium可以轻松地在多个主流浏览器(如Chrome、Firefox、Safari、Edge等)中执行测试,以确保应用在各种浏览器环境下的兼容性。

3、数据抓取和网页解析:Selenium可以作为一个强大的网络爬虫工具,帮助自动化地抓取网页内容并进行解析。这在需要从多个网页中提取数据、监测网页变化或进行网站内容分析时非常有用。

4、任务自动化:除了测试和数据抓取,Selenium还可以用于执行各种Web任务的自动化。例如,自动化提交表单、定期检查网站状态、自动化下载文件等。通过编写脚本来指导浏览器完成这些任务,可以节省时间和人力成本。

三、如何安装selenium?

要安装Selenium,可以按照以下步骤进行操作:
1、选择编程语言:首先,确定你将使用哪种编程语言来编写Selenium脚本。Selenium支持多种编程语言,如Python、Java、C#等。

2、安装语言相关的开发环境:根据你选择的编程语言,安装相应的开发环境。例如,对于Python,你需要安装Python解释器和相关的包管理工具(如pip)。

3、安装Selenium库:使用包管理工具安装Selenium库。在命令行中运行适用于你选择的编程语言的安装命令。例如,对于Python和pip,可以运行以下命令来安装Selenium库:

pip install selenium

4、下载浏览器驱动程序:Selenium需要与特定的浏览器进行交互,因此你需要下载并配置相应的浏览器驱动程序。驱动程序的下载链接可以在Selenium官方文档中找到。根据你使用的浏览器和操作系统,下载并解压合适的驱动程序。
这里是谷歌浏览器Selenium驱动的下载地址:https://npm.taobao.org/mirrors/chromedriver/
需要按照自己电脑谷歌浏览器的版本(谷歌浏览器右上角-->帮助-->关于),下载对应的驱动。如果实在没有,去官网下载(https://googlechromelabs.github.io/chrome-for-testing/,该链接会自动检测你谷歌浏览器版本,然后在下面给你驱动下载地址):

然后进去之后,再下载对应系统版本的webdriver(我这里是Windows):

5、配置驱动程序路径:将下载的驱动程序所在的目录添加到系统的环境变量中,或者在代码中指定驱动程序的路径。这样Selenium才能找到并与浏览器进行通信。
我们将下载下来的压缩文件解压:

将其中的chromedriver放置到自己Python安装文件的Scripts目录下:

尝试运行如下代码,能打开浏览器(闪一下)则表示配置成功:

from selenium import webdriver
driver = webdriver.Chrome()

6、编写和运行Selenium脚本:使用你选择的编程语言编写Selenium脚本,并在开发环境中运行它们。根据需要,你可以使用不同的Selenium组件(如WebDriver)来控制浏览器行为。

四、Python中selenium的使用步骤

使用pip安装Selenium库,并下载完驱动和设置好驱动路径后,就可以开始使用Selenium库编写脚本程序了。以下是一个简单的示例,展示了如何打开网页、查找元素并进行操作(这里是打开百度首页,输入“python”并进行搜索):

# _*_ coding : utf-8 _*_
# @Time : 2023-09-01 16:09
# @Author : 光仔December
# @File : selenium基础测试
# @Project : Python基础from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time# 初始化浏览器驱动程序
driver = webdriver.Chrome()try:# 打开网页driver.get('https://www.baidu.com')# 通过 id 找到input框input = driver.find_element(By.ID, "kw")# 输入pythoninput.send_keys('python')input.send_keys(Keys.ENTER)  # 按下回车键# 等待5秒看结果time.sleep(5)
finally:# 关闭浏览器driver.close()

效果:

测试selenium浏览器自动化效果


这只是一个简单的示例,Selenium还提供了许多其他功能和方法,如查找元素的不同策略(ID、XPath、CSS选择器等)、模拟键盘输入、处理弹出框等。你可以查阅Selenium的官方文档或相关教程,以获取更多详细信息和示例代码。

下一篇我们详细讲解一下Selenium的使用和有关元素定位相关的内容。


参考:尚硅谷Python爬虫教程小白零基础速通教学视频
转载请注明出处:https://guangzai.blog.csdn.net/article/details/132627038

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/97407.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT(9.3)定时器,绘制事件

作业: 自定义一个闹钟 pro文件: QT core gui texttospeechgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecat…

《智能网联汽车自动驾驶功能测试规程》

一、 编制背景 2018 年4 月12 日,工业和信息化部、公安部、交通运输部联合发布《智能网联汽车道路测试管理规范(试行)》(以下简称《管理规范》),对智能网联汽车道路测试申请、审核、管理以及测试主体、测试驾驶人和测试车辆要求等…

通过HFS低成本搭建NAS,并内网穿透实现公网访问

文章目录 前言1.下载安装cpolar1.1 设置HFS访客1.2 虚拟文件系统 2. 使用cpolar建立一条内网穿透数据隧道2.1 保留隧道2.2 隧道名称2.3 成功使用cpolar创建二级子域名访问本地hfs 总结 前言 云存储作为一个新概念,在前些年炒的火热,虽然伴随一系列黑天鹅…

Windows环境下RabbitMQ下载安装

一、准备安装文件 1、下载Erlang 登录网站Downloads - Erlang/OTP,选择“Download Windows installer”,如下图所示: 弹出框中,选在下载保存地址,保存文件,如下图所示: 2、下载RabbitMQ 登录…

专访远航汽车远勤山:踏踏实实做好产品 直面挑战乘风远航

8月25日,第二十六届成都国际汽车展览会在中国西部国际博览城隆重开幕。车展举办期间,远航汽车董事长远勤山先生、产品研发总监王震先生向媒体分享了远航汽车品牌发展、产品研发、技术创新以及市场布局等内容。 “通过我们的付出和努力,让我们…

修复中间件log4j漏洞方案(直接更换漏洞jar包)

说明: 后台服务里面的log4j漏洞我们已经全部升级处理了,但是一些中间件镜像包里的log4j漏洞需要单独处理 解决办法以ElasticSearch7.6.2为例: 方法: (1)找到容器里面有哪些旧的log4j依赖包 (…

excel中的引用与查找函数篇1

1、COLUMN(reference):返回与列号对应的数字 2、ROW(reference):返回与行号对应的数字 参数reference表示引用/参考单元格,输入后引用单元格后colimn()和row()会返回这个单元格对应的列号和行号。若参数reference没有引用单元格,…

【Semidrive】解决 X9HP reboot 导致 Android 崩溃的问题

本篇文章介绍如何解决 X9HP 平台的 AP1 域中插着 u 盘时运行 reboot 导致 Android 系统崩溃的问题,软件版本是 X9 PTG4.0,硬件环境是 X9H 开发板 X9H_REF_A04。一、问题原因 在调试过程中遇到插着 u 盘时用 adb shell reboot 命令或直接在串口中 reboot …

数据结构——七大排序[源码+动图+性能测试]

本章代码gitee仓库:排序 文章目录 🎃0. 思维导图🧨1. 插入排序✨1.1 直接插入排序✨1.2 希尔排序 🎊2. 选择排序🎋2.1 直接选择排序🎋2.2 堆排序 🎏3. 交换排序🎐3.1 冒泡排序&#…

QT建立TCP服务器

QT core gui network *************************************************** #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器头文件 #include <QTcpSocket>//客户端头文件 #include <QList>//存放客户端…

垃圾回收 - 复制算法

GC复制算法是Marvin L.Minsky在1963年研究出来的算法。说简单点&#xff0c;就是只把某个空间的活动对象复制到其它空间&#xff0c;把原空间里的所有对象都回收掉。这是一个大胆的想法。在此&#xff0c;我们将复制活动对象的原空间称为From空间&#xff0c;将粘贴活动对象的新…

海天tech注塑机数据采集测试软件

本测试软件支持采集海天/力劲系列注塑机&#xff0c;弘讯TECH1、弘讯AK628、 弘讯TECH2、弘讯AK668等型号控制器。 采集数据类型示例如下&#xff1a; 设备状态、报警信息、开模总数 输出压力、速度、背压 射出、模座、托模位置 温度一~九段 开模、关模、高压、低压 射…