从零开始学习Python控制开源Selenium库自动化浏览器操作,实现爬虫,自动化测试等功能(一)

在这里插入图片描述

介绍Selenium :

Selenium是一个用于自动化浏览器操作的开源工具和库。它最初是为Web应用测试而创建的,但随着时间的推移,它被广泛用于Web数据抓取和网页自动化操作。Selenium 支持多种编程语言,包括Python,Java,C#等。
这里我们主要实现采用Python的方式

Selenium 的主要特点和用法:

  • 自动化浏览器操作: Selenium 可以模拟用户在浏览器中的操作,包括点击、填写表单、提交表单、导航等,实现自动化的浏览器行为。

  • 跨浏览器兼容性: Selenium 支持多种主流浏览器,包括Chrome、Firefox、Edge、Safari等,使得你可以在不同浏览器上执行相同的自动化脚本。

  • 支持多种操作系统: Selenium 被设计为跨平台的工具,可以在Windows、Linux和macOS等操作系统上运行。

  • 强大的定位元素功能: Selenium 提供了多种方式来定位HTML元素,如通过ID、类名、标签名、XPath等,方便用户在页面上找到并与特定元素进行交互。

  • 支持并发测试: Selenium 可以并发执行多个浏览器实例,适用于大规模测试和数据抓取。

配置环境,我这边所有教程将会采用VSCode作为开发

首先请下载安装python3.7+

如果找不到的朋友,点击这里

插件当中安装python
在这里插入图片描述
打开一个文件夹,在其中新建demo.py

print('hello world')

在这里插入图片描述

输出成功,则环境配置成功!

使用命令行安装Selenium

pip install selenium

国内安装建议使用镜像:

pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

下载Chrome webdriver的exe文件放置到demo.py的同目录下,注意webdriver的版本需要和Selenium的版本对应。

最后提供一个demo测试代码试试:

from selenium import webdriver
from selenium.webdriver.common.by import By# 创建一个 Chrome WebDriver 实例
driver = webdriver.Chrome()# 打开网页
driver.get("https://www.baidu.com")# 查找页面上的元素并进行操作
element = driver.find_element(by=By.NAME ,value="wd")
element.send_keys("Selenium")
submit_button = driver.find_element(by=By.ID, value="su")
submit_button.click()# 关闭浏览器窗口
# driver.quit()

这是一个提供百度搜索Selenium的脚本,包含访问网页,元素定位,按钮点击功能

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

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

相关文章

vectorCast添加边界值分析测试用例

1.1创建项目成功后会自动生成封装好的函数,在这些封装好的函数上点击右键,添加边界值分析测试用例,如下图所示。 1.2生成的用例模版是不可以直接运行的,需要我们分别点击它们,让它们自动生成相应测试用例。如下图所示,分别为变化前和变化后。 1.3点击选中生成的测试用例,…

实现SERVLET应用程序

实现SERVLET应用程序 Smart Software 的开发人员希望开发一个Web应用程序,使用servlet显示保存在表中的雇员信息。该应用程序需要有用户界面,用户可在该用户界面中指定要查看雇员数据的雇员ID。该界面还应显示网站被访问的次数。 解决方案 要解决上述问题,需要执行以下任务…

Java中的包、类、接口说明

写在开头 包、类、接口、方法、变量、参数、代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分。 Java中的包 Java 定义了一种名字空间,称之为包:package。一个类总是属于某个包…

在 EggJS 中实现 Redis 上锁

配置环境 下载 Redis Windows 访问 https://github.com/microsoftarchive/redis/releases 选择版本进行下载 - 勾选 [配置到环境变量] - 无脑下一步并安装 命令行执行:redis-cli -v 查看已安装的 Redis 版本,能成功查看就表示安装成功啦~ Mac brew i…

Flink SQL

Flink SQL 来源:B站尚硅谷 sql-client准备 Table API和SQL是最上层的API,在Flink中这两种API被集成在一起,SQL执行的对象也是Flink中的表(Table),所以我们一般会认为它们是一体的。Flink是批流统一的处理…

【JavaEE】文件操作与IO

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文于《JavaEE》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&…

【Oracle】收集Oracle数据库内存相关的信息

文章目录 【Oracle】收集Oracle数据库内存相关的信息收集Oracle数据库内存命令例各命令的解释输出结果例参考 【声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) 【Oracle】收集Oracle数据库内存相关的信息 …

详细版Git的下载安装与配置(Windows)

一、git的下载 Git是一个非常好用的版本控制工具。下载地址如下:Git - Downloads。建议使用国内浏览器下载,因为不用翻墙,速度快。 当你用浏览器去访问上面的地址后,下载页面会自动识别你的电脑系统,如下 点击&#…

鸿蒙开发环境配置-Windows

背景 入局鸿蒙开发,发现在 Windows 下面配置安装相关环境并没有像 Mac 一样简单,过程中遇到了一些问题记录一下。 Devceo Studio 下载安装 目前鸿蒙的 IDE 最新版是 4.0,通过这个连接可以下载,鸿蒙4.0下载连接。选择符合我们电…

73.网游逆向分析与插件开发-背包的获取-物品数据的初步数据分析

内容参考于:易道云信息技术研究院VIP课 上一个内容:72.网游逆向分析与插件开发-背包的获取-项目需求与需求拆解-CSDN博客 然后首先找切入点: 通过药物来当切入点,药物比较好使用,然后鼠标放到药物上它有名字、种类、…

Ubuntu20.4 Mono C# gtk 编程习练笔记(三)

Mono对gtk做了很努力的封装,即便如此仍然与System.Windows.Form中的控件操作方法有许多差异,这是gtk本身特性或称为特色决定的。下面是gtk常用控件在Mono C#中的一些用法。 Button控件 在工具箱中该控件的clicked信号双击后自动生成回调函数prototype&…

力扣343. 整数拆分(动态规划)

Problem: 343. 整数拆分 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 该题目可以抽象成动态规划中的爬楼梯模型,将整数的拆分类比为上台阶: 1.每个阶段可以从整数中划分出1、2、…k的一个整数 2.int dp[n 1] dp[i]表示为i的整数划分的最大…