Selenium 自动化 —— 入门和 Hello World 实例

从‘Hello World’到运行第一个爬虫:用PyCharm社区版搭建Python+Selenium自动化测试环境全记录 本文详细介绍了如何使用PyCharm社区版搭建Python+Selenium自动化测试环境,从Python安装到运行第一个爬虫脚本的全过程。通过实战指南,帮助开发者快速掌握环境配置、Selenium生态搭建及自动化脚本编写,提升开发效率。 阅读详情
Selenium 是什么

Selenium 是一个用于自动化网页浏览器操作的工具,它支持多种浏览器和多种操作系统。主要用于测试 web 应用程序的功能,也可用于执行一些基本的浏览器操作任务,例如自动化表单填写、网页导航等。

Selenium 是一个开源项目,支持多种编程语言,如Java、Python、JavaScript等。通过这些语言的绑定库,你可以在不同的语言环境下编写 Selenium 测试脚本。

Selenium 可以做什么

Selenium 是一个功能强大的工具,用于自动化网页浏览器操作,所以我们可以用它完成很多工作。

  1. 自动化测试:这是 Selenium 最常用的用途。通过编写测试脚本,可以模拟用户在网页上的交互操作,例如点击按钮、填写表单、验证页面内容等。这样可以自动执行测试,并快速发现网站应用程序中的 bug 和问题。
  2. 跨浏览器测试:由于Selenium支持多种浏览器,包括 Chrome、Firefox、Safari、Edge 等,因此它可以用于执行跨浏览器测试,确保网站在不同浏览器上的一致性和兼容性。如果我们的网站要手动的把主流浏览器都跑一遍测试用例,那估计得崩溃。
  3. 爬虫:一般爬虫会用模拟 HTTP 请求,但是某些情况下服务端返回的是渲染后的静态页面,这时候我们就可以用 Selenium 模拟用户的点击,或者解析网页的元素得到想要的数据。
Selenium 快速入门

实践是检验真理的唯一标准,所以接下来会用百度搜索的例子展示 Selenium 的基本使用。

下载WebDriver

我们需要操作浏览器模拟用户的点击等操作,但是我们不会直接操作浏览器,而是通过间接的方式,这就是WebDriver,类似于我们各种驱动程序,如网卡驱动、磁盘驱动等等。
在这里插入图片描述

可以看到,雪人在旁边看戏

WebDriver是Selenium的一个子项目,它是Selenium中用于控制浏览器的接口。WebDriver提供了一组API,可以直接操作浏览器,模拟用户在浏览器中的各种操作。

Windows系统中,我们需要下载对应浏览器对应版本的驱动。
比如我用的是Chrome,所以在这里可以下载。

下载解压后,是一个chromedriver.exe的可执行文件,我们把它放到某个目录下,后面Java代码中会指定。

引入 Selenium 依赖

如果用的是maven管理依赖,我们可以在pom.xml中引入 Selenium 依赖:

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
    </dependency>
编写测试代码

代码做的事非常简单:

  1. 打开百度首页
  2. 文本框输入"Hello World"
  3. 点击搜索按钮
  4. 进入结果页面,打印输出html的title
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class BaiduSearchTest {
    public static void main(String[] args) {
        WebDriver driver = null;
        try {
            // 设置Chrome驱动的路径
            System.setProperty("webdriver.chrome.driver", "C:\\Softwares\\webdriver\\chromedriver-122\\chromedriver.exe");

            // 创建WebDriver对象
            driver = new ChromeDriver();
            // 打开百度网站
            driver.get("https://www.baidu.com");
            // 找到搜索输入框
            WebElement searchBox = driver.findElement(By.name("wd"));
            // 在搜索输入框中输入关键字
            searchBox.sendKeys("Hello World");
            // 提交搜索表单
            searchBox.submit();
            // 等待搜索结果加载
            try {
                Thread.sleep(10000); // 等待3秒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            // 输出页面标题
            System.out.println("Page title is: " + driver.getTitle());
        } finally {
            // 关闭浏览器
            if(driver != null){
                driver.quit();
            }
        }
    }
}

运行Java代码,会弹出一个新的Chrome浏览器窗口。
在这里插入图片描述
到这里,我们可以通过这个例子,感受 Selenium 的强大。Selenium 还提供很多功能,后面的文章 postnull 会进一步介绍。利用这些特性,我们可以很做更多有意思的事。

注意点
  • 注意 WebDriver 和 浏览器的版本需要对应。
别再手动点‘下一节’了!用Python+Selenium模拟登录学习通,PyAutoGUI帮你自动连播 本文介绍如何利用Python结合Selenium和PyAutoGUI实现学习通课程的自动连播功能,解决手动点击'下一节'的繁琐操作。通过详细的代码示例和技术解析,帮助用户快速搭建自动化学习系统,提升在线学习效率。重点涵盖Selenium网页操作、PyAutoGUI桌面控制以及验证码处理等核心自动化技术。 阅读详情

相关推荐

HelloSelenium.java

HelloSelenium.java

Selenium入门教程 hello world (Python + Chrome + VSCode)

安装selenium: 1.安装pip(VSCode Terminal 或 cmd命令行管理员方式): pip install pip 也可直接搜索pip,到官网下载安装 2.安装selenium(VSCode Terminal或cmd命令行管理员方式): pip install -U selenium 3.安装谷歌驱动 ChromeDriver: 其中,驱动版本要与谷歌版本相对应 不知道的话可以查看链接https://npm.taobao.org/mirrors/chromedrive..

coco的专栏 1287

IEC61850实战:从ICD文件解析到模型构建

本文深入解析IEC61850标准中的ICD文件结构,从Header、IED到DataTypeTemplates部分,详细介绍了如何构建电力自动化设备的数据模型。通过实战案例展示ICD文件的创建过程,并分享常见问题的调试技巧,帮助工程师快速掌握IEC61850建模方法,提升电力系统自动化项目的实施效率。

weixin_26841743的博客 496

Python Selenium个人学习笔记

Selenium简介: 支持多种语言。随着Python语言运用的越来越广,使用Python Selenium的频率逐渐变多,所以该篇文章介绍的Selenium是基于Python语言的。 支持浏览器:IE,Chrome,FireFox,Safari。支持Windows,Mac系统平台上运行 本篇文章适合有Python基础的,想尝试使用或者对Selenium有兴趣的同学们 需要Pytho

lonlon29的博客 1万+

单目视觉定位:深入解析PNP算法在机器人导航中的实战应用

本文深入解析了PNP算法在机器人单目视觉定位中的核心原理与实战应用。通过拆解坐标变换四步,详细阐述了如何从二维图像点反求相机三维位姿。文章结合OpenCV的solvePnP函数,提供了算法选择、参数调优及结果后处理的实用指南,并针对机器人导航中的特征匹配、尺度不确定性等挑战,给出了鲁棒性优化与实时性平衡的解决方案。

weixin_29083649的博客 419

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)算法背景介绍Hessian 矩阵与泰勒多项式关于求t导数与中心点、亚像素点高斯函数作用文献 算法背景介绍 在线结构光视觉传感器中,由线激光器发射出的线结构光,在本质上为一个连续且具有一定厚度的空间光平面,而在目标表面上所形成的具有一定宽度的光条特征,即为该光平面与目标表面相交而成的交线。在该空间光平面的厚度方向上,光强近似服从高斯分布,因而在摄像机采集到的光条图像中,在沿着光条宽度的方向或光条的法线方向上,其灰度也会呈现出类似

jiangxing11的博客 1万+

建议收藏!超详细的selenium爬虫使用教程!你想知道的都在这里!

在我们深入探讨Selenium的多个方面之后,很重要的一点是认识到,像所有工具一样,Selenium在使用时需要遵循一些基本的注意事项和最佳实践。此外,网页抓取和自动化不仅受到技术限制,还受到法律和道德的约束。注意事项与最佳实践尊重Robots.txt: 大多数网站都有一个robots.txt文件,其中指定了哪些页面可以爬取,哪些不可以。尽管Selenium不像其他爬虫库那样自动遵循它,但你仍应当遵守其规定。不过度请求: 大量的快速连续请求可能会导致服务器过载,甚至可能导致你的IP被封锁。

大模型研究中心 1万+

如何解决群晖Docker注册表查询失败/无法拉取镜像等问题

如何解决群晖Docker注册表查询失败/无法拉取镜像等问题

XiaoqiangClub的博客 1万+

基于java的selenium3自动化测试完整教程

本课程为一个完整的selenium自动化测试实战课程,采用当前最新的版本selenium3。 学完后可以独立构建起企业级/项目级的自动化测试,从搭建环境、编写脚本、使用框架组织运行脚本与输出报告、及后与持续集成工具Jenkins结合达到构建后即测试或指定晚上运行等方式,从而达到一个企业级的完整的自动化测试解决方案。

无人机视觉锁定与目标跟踪技术深度解析(含完整代码)

本文介绍了无人机视觉锁定系统的核心技术实现,包括系统架构、目标检测与跟踪算法。系统采用YOLOv5进行初始目标检测,结合手动框选作为备选方案。在跟踪环节对比了KCF、CSRT等传统方法和SiamFC等深度学习算法,最终选用CSRT作为CPU平台最优方案。文章详细解析了相关滤波跟踪的数学原理,并提供了目标检测器和跟踪器的Python实现代码。该系统能有效处理目标遮挡、光照变化等挑战,为无人机自主跟踪提供了实用解决方案。

电脑管家 685

国科大《人工智能原理与算法》2021年期末试题+2024经验(2025指南)

2021年期末试题+24年复习指南

MatsumotoChrikk 2925

Selenium自动化安装教程

Selenium自动化安装教程

天行健、君子以自强不息 1万+

【A_Star三维路径规划】基于matlab A_Star算法结合B样条平滑三维地形路径规划(含雷达威胁)【含Matlab源码 3527期】

A_Star算法结合B样条平滑三维地形路径规划(含雷达威胁) 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 741

C语言入门——输出Hello,world

目录写在前面的话一、C语言是什么?1.输出Hello,world小结 写在前面的话 随着人工智能的不断发展,编程这门技术也越来越重要,很多人都开启了编程学习,本文就介绍了编程学习的基础内容。 C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言 一、C语言是什么? C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任

kkk_zhongshitiangou的博客 7436

姿态传感器/陀螺仪之LSM6DSLTR应用驱动程序设计

* LSM6DSLTR I2C地址(SA0=1) *//* 初始化LSM6DSLTR传感器(加速度计±2g,陀螺仪±250°/s) *//* 加速度计灵敏度 *//* 角速度值(°/s) *//* I2C句柄 *//* 陀螺仪灵敏度 *//* 加速度值(g) *//* 温度值(°C) *//* 设备地址 *//* IF_INC=1: 自动增量地址 *//* 10Hz采样率 *//* 配置I2C1引脚:PB6->SCL, PB7->SDA *//* 转换为实际温度值(°C),参考手册中温度计算公式 */

corlin6688的博客 394

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

selenium入门教程 hello world

现在要写一个demo,步骤是打开百度,然后找到搜索框的id为kw:然后输入hello world,步骤如下:1. 新建一个项目选择maven,jdk1.8,然后next填上GroupId,ArtifactId,然后nextProject name,Project location可修改,然后next2. 添加包依赖打开pom.xml然后添加:&lt;dependencies&gt;      &l...

77的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python hello world程序编写 linux_运行第一个python程序hello world

使用一份源代码文件现在让我们回到编程中来。在你学习一门新的编程语言时有一项传统,你所编写并运行的第一个程序应该是 “Hello World” 程序——它所做的全部工作便是宣言你所运行的“HelloWorld”这句话。正如西蒙·科泽斯(Simon Cozens,一译西蒙·寇森斯) 所说,这是“向编程之神所称颂的传统咒语,愿他帮助并保佑你更好的学习这门语言”。启动你所选择的编辑器,输入如下程序并将它保...

weixin_33764069的博客 718

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

自动化系列——做自动化必备工作以及hello world代码

网上的爬虫、自动化一般都是使用python来做的; 身为java程序员,当然也要不甘示弱! 所以就写了java爬虫、自动化系列文章,供众多java程序员参考!

前方一片光明 7674

Selenium入门记录_001_环境配置和Hello World!

站在巨人的肩膀上,参考虫师写的selenium+Python的pdf教程 https://www.cnblogs.com/fnng/category/349036.html 软件 版本 系统 Win7 64位 Chrome 59.0 selenium 3.0.2 Python 35 chromedriver 2.3.1...

wws563的专栏 569

Selenium自动化入门:从环境搭建到第一个脚本实战

Web自动化是现代软件开发和测试中的关键技术,它通过模拟用户操作实现浏览器行为的程序化控制。其核心原理是基于WebDriver协议与浏览器通信,能够处理JavaScript动态加载的复杂页面,克服了传统HTTP请求的局限性。这项技术的价值在于提升测试效率、实现数据抓取和解放重复性人工操作。在软件测试、爬虫开发和日常办公自动化等场景中,Web自动化工具发挥着重要作用。Selenium作为该领域的标杆工具,支持多语言和主流浏览器,其**元素定位**和**智能等待**机制是构建稳定自动化脚本的基础。本文将以Pyt

weixin_33912246的博客 386

Python Selenium自动化入门:从环境搭建到实战技巧

Web自动化测试与数据抓取是现代软件开发与数据分析中的关键技术,它通过模拟真实用户操作,实现对网页行为的程序化控制。其核心原理在于利用浏览器驱动作为桥梁,让脚本语言能够与浏览器内核进行通信,从而执行点击、输入、导航等交互。这项技术的价值在于显著提升测试效率、保障软件质量,并实现大规模、高频率的网络数据采集。典型的应用场景包括自动化测试、竞品监控、报表生成和RPA流程自动化。本文聚焦于使用Python和Selenium库进行Web自动化,详细解析了环境配置、元素定位、等待机制等核心实践,并针对常见的版本匹配和

weixin_34186128的博客 385

Selenium WebDriver入门指南:从环境搭建到自动化实战

Web自动化是现代软件开发和数据采集中的关键技术,它通过模拟用户操作实现浏览器行为的程序化控制。其核心原理在于利用WebDriver协议在测试脚本与真实浏览器之间建立通信桥梁,从而执行点击、输入、滚动等交互动作。这项技术的核心价值在于将重复性高、易出错的手动网页操作转化为可调度、可版本控制的自动化流程,显著提升测试效率和数据采集的可靠性。在应用场景上,它广泛应用于Web UI自动化测试和动态网页数据抓取,特别是处理JavaScript渲染的单页面应用(SPA)。本文聚焦Selenium WebDriver这

weixin_33871366的博客 499

Selenium3快速入门:如何编写第一个脚本Hello world!

从0开始编写Selenium3脚本。解决自动化小白们最害怕的环境配置等问题,从最简单脚本开始 ,从最干净的环境开始,结果导向,一步步到自动化框架的实践过程。 所需工具: 1.IDE+JDK+浏览器 (可依实际项目自定义) 2.Selenium3驱动及jar包(第一个驱动是Selenium3中所必需) 步骤: 1.idea安装 ,下载好工具后以管理员身...

weixin_34148456的博客 271

【cl】selenium实例2:打开百度,输入hello world

/*创建的类为junit class*/ package Selenium_lassen; import static org.junit.Assert.*; import java.io.File; import org.junit.After;import org.junit.Before;import org.junit.Test;import org.openqa.selenium...

weixin_34004750的博客 90

Python 之 Selenium(1)Hello World

使用 FireFox 作为实例。 抓取的首页为电子工业出版社网站(http://www.phei.com.cn/)。了解 Selenium 能做什么像 Requests 一样,抓取网页的源代码。Selenium 模拟了浏览器的行为,我们甚至可以更细粒度地控制浏览器的行为。代码如下:实现的功能为:让程序自动打开浏览器下载网页的源代码,保存到一个文件,然后关闭浏览器。# 利用 webdriver 可以

李威威的博客 711

Windows下ChromeDriver环境配置详解与Selenium自动化测试入门

Web自动化测试是软件测试领域的核心技术之一,其核心原理是通过脚本模拟用户操作,实现对Web应用的功能与界面进行自动化验证。在技术实现层面,Selenium作为主流的自动化测试框架,通过WebDriver协议与浏览器进行通信,而ChromeDriver则是连接Selenium与Chrome浏览器的关键桥梁,负责协议转换。这项技术的核心价值在于提升测试效率、确保测试的一致性与可重复性,广泛应用于持续集成、回归测试和跨浏览器兼容性测试等场景。要成功实施自动化,首要且基础的环节便是正确配置浏览器驱动与环境变量,这

weixin_33805743的博客 441
上一篇: 解析Docker镜像大小之谜
下一篇: Selenium 自动化 —— 使用WebDriverManager自动下载驱动
postnull咖啡
博客等级 码龄10年 1026粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值