Selenium 自动化 —— 浏览器窗口操作

selenium的11种基础操作(元素的定位、操作,浏览器的打开、管理、处理、代理、加载,键盘操作) * 使用selenium自动化测试工具,模拟人为操作浏览器,达到可以注册/登录网页,滑动下拉框,选择,鼠标点击等操作。一旦通过ID定位到了cheese,可以在上一步结果的基础上进一步缩小范围。本地html文件file:///race_condition.html。windows系统,python语言,PyCharm。在定位到想要的元素后,可以使用以下方法定位到相邻的元素。是最重要的学习内容之一,学习如何定位到网页中的元素。从浏览器的地址栏读取当前的URL。定位cheese下的所有元素。 阅读详情

更多内容请关注我的专栏:

  1. 入门和 Hello World 实例
  2. 使用WebDriverManager自动下载驱动
  3. Selenium IDE录制、回放、导出Java源码

当用 Selenium 打开浏览器后,我们就可以通过 Selenium 对浏览器做各种操作,就像我们日常用鼠标和键盘操作浏览器一样,比如:

  • 打开新窗口
  • 切换到其它窗口
  • 关闭窗口
  • 关闭浏览器
  • ……
    今天我们就来学习这些操作。
1. 打开网页

通过 get() 函数, 我们就可以使用浏览器打开指定的网页。

driver.get("https://www.w3cschool.cn/html/html-form.html");
2. 后退 / 前进

平时使用浏览器时,我们通常会点击浏览器左上角的 [前进] / [后退] 图标,返回到前一个或下一个网页。
在这里插入图片描述
Selenium 也提供了这样的方法 back() 和 forward()

driver.get("https://www.w3cschool.cn/html/html-form.html");
Thread.sleep(3000);

driver.get("https://www.baidu.com");
driver.navigate().back();
Thread.sleep(3000);
driver.navigate().forward();

加了延迟,是为了更清楚看到效果。

3. 另一种打开网页

前面使用driver.get(url) 是最常用的打开网页的方式,但是还有另一种方式:

driver.navigate().to("https://www.w3cschool.cn/html/html-form.html");

这种方式效果和 get() 没有太大的区别,但是它有一个好处,就是 to() 返回的是 Navigation 对象,是的,上面的 back() 和 forward() 方法都是这个对象的方法,这是一种链式调用!

WebDriver.Navigation navigation = driver.navigate();
navigation.to("https://www.w3cschool.cn/html/html-form.html");
navigation.back();
navigation.forward();
4. 获取基本信息

打开一个网页,我们通常可以看到两样东西,网页标题和网页地址,还可以查看网页的源码,用 Selenium 同样很简单做到。

driver.get("https://www.w3cschool.cn/html/html-form.html");
Assert.assertEquals("HTML 表单_w3cschool", driver.getTitle());
Assert.assertEquals("https://www.w3cschool.cn/html/html-form.html", driver.getCurrentUrl());
Assert.assertTrue(driver.getPageSource().contains("<html"));
5. 关闭窗口

有时候,我们需要关闭浏览器窗口,比如某个TAB页,就像我们平时点击 “X” 图标一样。
在这里插入图片描述

driver.close();
6. 关闭浏览器

我们测试完后,需要关闭浏览器,这样可以释放资源。

driver.close();

那么问题来了 quit() 和 close() 有什么区别呢?

  • 如果只有一个窗口,关闭当前窗口,浏览器页也会退出
  • 如果有多个窗口,关闭当前窗口,浏览器不会退出

其实和我们真正用浏览器时一样!可见 Selenium 就是对我们平时操作浏览器行为的封装。

到这里我们就学习了浏览器窗口常用的几种操作,关注优快云 - 兰亭序咖啡,和我一起学习探讨 Selenium 自动化和其它技术。

如何用selenium来链接并打开比特浏览器进行自动化操作 本文是该专栏的第76篇,后面会持续分享python爬虫干货知识。本文,笔者将基于“比特浏览器”,通过selenium来实现链接并打开比特浏览器,进行相关的“自动化”操作。值得一提的是,在本专栏之前,笔者有详细介绍过“使用selenium或者pyppeteer(puppeteer)来链接并打开指纹浏览器AdsPower”的方法和详细教程。而针对通过selenium来实现链接并打开“比特浏览器”的具体细节部分以及详细思路逻辑,笔者将在正文结合完整代码进行详细说明。(附带完整代码) 阅读详情

相关推荐

Sonatype nexus3 数据迁移及升级3.71+(迁移到H2数据库)

nexus3旧版本OrientDB升级H2,及整体迁移nexus3数据到其它服务器。

葫芦娃 5550

UI自动化测试之selenium工具(浏览器窗口的切换)

1、在浏览网页的时候,有时点击一个链接或者按钮,会弹出一个新的窗口。这类窗口也被称之为句柄(一个浏览器窗口的唯一标识符,通过句柄实现不同浏览器窗口之间的切换),在我们手动控制浏览器的时候,产生新的句柄时浏览器会自动的帮我们跳转到最新的句柄处(鼠标聚焦于最新打开的浏览器窗口)。2、在UI自动化的过程中,代码并不会默认自动的跳转到最新的句柄处,需要代码去切换句柄也就是切换浏览器窗口。

weixin_67553250的博客 4384

从零到一:用Verilog和Quartus构建智能交通灯系统的实战指南

本文详细介绍了如何使用Verilog和Quartus Prime从零开始构建智能交通灯系统。通过分步指导,包括状态机设计、时序控制、数码管显示等核心模块实现,并结合ModelSim仿真验证,帮助FPGA初学者掌握数字电路设计的关键技术。文章还提供了实际部署到FPGA开发板的调试技巧和进阶优化方案。

weixin_29172201的博客 473

WebUI自动化之控制浏览器操作

webdriver提供了set_window_size方法来控制浏览器大小,参数的单位是像素点。一、创建浏览器驱动对象,打开浏览器(以谷歌浏览器为例)在PC端执行用例时,大多数情况下,浏览器都是全屏显示。四、webdriver的常用方法。三、控制浏览器的前进后退和刷新。

weixin_40233170的博客 1001

python 中心线提取_二值分析 | OpenCV + skimage如何提取中心线

点击上方蓝字关注我们微信公众号:OpenCV学堂关注获取更多计算机视觉与深度学习知识问题前几天有个人问了我一个问题,问题是这样的,他有如下的一张二值图像:怎么得到白色Blob中心线,他希望的效果如下:显然OpenCV中常见的轮廓分析无法获得上面的中心红色线段,本质上这个问题是如何提取二值对象的骨架,提取骨架的方法在OpenCV的扩展模块中,另外skimage包也支持图像的骨架提取。这里就...

weixin_42204453的博客 4290

CODESYS Softmotion(一)功能介绍

一、CODESYS SoftMotion RTE SL产品 1.1 CODESYS Runtime SL 产品家族介绍 目前支持的主流厂商的硬件产品,让部署在上面的成为实时设备。 对于Windows系统,根据需求选择对应的Runtime: RTE极大的提高了实时性,适合进行运动控制,同时RTE还支持了多个主从站协议: 还可以选择可选的功能(Single License): RTE对硬件和系统有要求,如果你需要硬件功能,那么网卡会有最低要求。 1.2 RTE的下载和安装 在官网http://codes

Fishfishfishfishcat 2万+

Selenium 自动化 —— 切换浏览器窗口

平时我们在使用浏览器时,通常会打开多个窗口,然后再多个窗口中来回切换,这用鼠标点击或用键盘快捷键是很容易实现的。用Selenium同样很容易实现!

postnull的博客 2194

Image Sensor常见分辨率下HTS,VTS设置

image sensor,HTS,VTS

propor的专栏 4974

selenium窗口切换

说明:本篇博客基于selenium 4.1.0。

Tester_muller的博客 8769

SceneSplat

目标:训练一个网络,输入高斯参数 → 输出与自然语言空间对齐的特征。考虑到标注语义的 3DGS 数据有限,作者设计了。策略,让模型在无标签场景上学到有用表征。都有一个与自然语言对齐的语义特征。这是整个方法的第一步,目标是让。

weixin_61091146的博客 1284

RT-DETR训练自己的数据集(从代码下载到实例测试)

在Windows10上配置CUDA环境教程是百度提出的一种实时目标检测模型。RT-DETR采用了与DETR相同的编码器和解码器结构,但对其进行了大量的优化,在保持较高检测精度的同时,实现了实时目标检测,为目标检测领域提供了一种新的有效解决方案,具有广泛的应用前景,如自动驾驶、智能监控、机器人等领域。以上是RT-DETR官方的论文和代码,详细介绍了RT-DETR的构成和实现。在YOLOv10中也实现了RT-DETR的代码,所以本文使用YOLOv10的项目文件进行RT-DETR的训练和测试。YOLOv10。

Limiiiing的博客 4万+

selenium自动化测试入门 —— 浏览器多窗口切换!

有时web应用会打开多个浏览器窗口,当我们要定位新窗口中的元素时,我们需要将webDriver的handle(句柄)指定到新窗口。什么意思?假设我们打开web应用,在系统运行过程中重新打开一个新窗口(可以是页签,当前浏览器存在两个窗口),这时我们webDriver对浏览器的操作指针(句柄)还再原窗口,如果需要操作新窗口元素就要将handle句柄切换到新窗口。

892

Android AICore的核心组件工作原理解析

AICore通过LoRA实现个性化适配Gemini Nano提供多模态智能Safety Features保障可信运行,构建了端侧AI的完整生态。这种设计不仅让手机等移动设备能处理复杂AI任务(如实时多模态交互),还通过隐私保护机制打破了传统云端AI的数据依赖,为未来“设备即AI基础设施”的愿景奠定了基础。输入触发:用户输入“刚提交了代码,等审核”→ 进入TEE加密处理。Gemini Nano基础生成:通过原始权重W_q生成初始回复候选。LoRA个性化微调:通过A'和B'计算ΔW,更新W_q。

1551

Selenium自动化之根据窗口句柄切换浏览器tab窗口操作

#根据窗口句柄切换浏览器tab窗口 driver.switch_to.window(handle) #关闭当前浏览器tab窗口 driver.close() import unittest import time from selenium import webdriver class VisitSogouByIE(unittest.TestCase): def setUp(self):...

DansonC的博客 1598

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【Selenium WebDriver自动化测试实例】操作浏览器窗口!

package navigateBack; import org.testng.annotations.Test; import org.testng.annotations.BeforeClass; import org.openqa.selenium.Dimension; //import java.awt.Dimension; import org.openqa.selenium.Point...

Kydk0013的博客 285

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

selenium自动化之-frame,窗口管理,多浏览器操作

frame 用法: self.driver.switch_to.frame() # 获取方法: driver.switch_to.frame('frame_name') # 通过tag_name driver.switch_to.frame(1) # 通过索引 driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])...

test_zeng的博客 487

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换...

本篇学习总结webdriver模块操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换等方法的使用 1 浏览器控制 Selenium-webdriverAPI提供了对页面元素定位和操作方法外,还提供了对浏览器本身的操作,如浏览器前进、后退、刷新、关闭、浏览器窗口大小设置等 1.1 控制浏览器窗口大小 Selenium-webdriverAPI对浏览器窗...

dieshuang3318的博客 436

2窗口大小 python_Python+selenium自动化测试之浏览器基础操作

前言本文主要讲解webdriber框架,Selenium 就像真实用户所做的一样,Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中运行。当然如果为了可视化你可以在浏览器使用selenium的IDE插件,它是一个浏览器插件,可以下各浏览器插件中添加。下面主要说明使用python如何调用webd...

weixin_34757706的博客 295

9、Selenium + Python 实现 UI 自动化测试-操作浏览器窗口

好,操作浏览器标签的姊妹篇,操作浏览器窗口来了。 补充点知识: 有的文章写了 这条js语句在新标签打开新页 js = "window.open('https://www.sogou.com')" 下面这条语句在新窗口打开新页 js = "window.open('https://www.sogou.com','_blank')" 实测,目前selenium 和 Chrom

像Storm一样飞 1460

浏览器窗口怎么保持窗口最前_selenium自动化测试:浏览器窗口处理方法集锦

我们在使用selenium进行自动化测试调试脚本的过程中,经常会对浏览器窗口进行处理,小编对工作中常用的方法进行了总结,希望能帮助到大家。浏览器窗口1、 如何判断浏览器打开了一个新窗口?(1)定义当前窗口的句柄集合Set handlesbefore = driver.getWindowHandles();(2)进行某步操作后,再次取当前窗口的句柄集合,并与之前的句柄集合进行比较,如果两者相同,则说...

weixin_39964660的博客 4528

自动化测试学习(五)-selenium的基本操作

本文主要介绍了selenium的常用操作,后续在使用过程中会不断更新,也欢迎大家来围观~

wyhzrp的博客 1491

python+Selenium——web自动化(浏览器窗口操作、鼠标键盘事件、滚动条)

目录 窗口操作 鼠标事件 键盘事件 滚动条 窗口操作 from selenium import webdriver import time dr = webdriver.Chrome() wd = dr.get('http://baidu.com/') # 设置窗口设置 dr.set_window_position(30,50) # 设置窗口所在屏幕上的位置 time.sleep(1) dr.set_window_position(80,100) # 修改窗口所在屏幕上的位置 p

北冥有鱼的博客 1668

selenium自动化测试(三)-- 操作浏览器

操作浏览器 webdriver主要提供的是操作页面上各种元素的方法,但同时也提供了操作浏览器的一些方法 控制浏览器窗口大小 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://www.baidu.com") # 设置浏览器宽480,高800 driver.set_w...

qq_42098424的博客 306

自动化框架 Selenium 的使用

Selenium 是一个用于自动化 Web 浏览器的开源工具套件,主要用于 Web 应用程序测试,也可用于网页抓取和自动化 Web 任务。早期的已经被现在的webDriver所替代,可以简单的理解为构成现在的Selenium2.0。现在我们说起selenium,一般指的是。它有由组成。一个用于Selenium测试的完成集成开发环境,可以直接录制在浏览器的用户操作,并且能回放,编辑和调试测试脚本。调试过程中可以逐步进行或调整执行的速度,并且可以在底部浏览日志出错信息。

2301_79881188的博客 864

selenium_浏览器自动化脚本及浏览器操作_1.04

案例1:简单的自动化脚本 启动火狐浏览器 首先我要淘宝页面,打印网页标题,等待3秒钟 打开百度首页,打印网页标题,再等待2秒 关闭浏览器   #导入所需模块 from selenium import webdriver from time import sleep #加载浏览器驱动 driver = webdriver.Firefox() #打开淘宝网首页 driver.g...

艾力克金 1659
上一篇: Selenium 自动化 —— Selenium IDE录制、回放、导出Java源码
下一篇: Selenium 自动化 —— 切换浏览器窗口
postnull咖啡
博客等级 码龄10年 1026粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值