Selenium自动操作浏览器前进、后退、刷新

2024-05-13 15:44

本文主要是介绍Selenium自动操作浏览器前进、后退、刷新,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 1. 网页回退back
  • 2. 网页前进forward
  • 3. 网页刷新refresh
  • 4. 完整代码


执行程序前请先配置驱动:
关于Java selenium使用前浏览器驱动的下载和环境变量的配置
关于Selenium自动化测试工具的Java实现详情请参考文章:
如何查看页面对应的Selenium定位参数
Java实现 selenium Web自动化测试(简单篇)
Java实现 selenium Web自动化测试(详细篇)


回退、前进、刷新
这三个就是对应的网页左上角三个按钮,如图
在这里插入图片描述


1. 网页回退back

当从一个网页跳转到另一个网页后,可以使用back进行回退,但使用的前提是必须在当前窗口的网页跳转,如果网页使用新窗口打开,则back无法回退到原来的窗口(如果浏览器点链接会用新窗口打开,可以在浏览器的设置中修改为当前窗口打开)

        //后退到百度首页webDriver.navigate().back();

2. 网页前进forward

回退后的网页还可以通过forward回到原来的网页

        //前进到搜狗首页webDriver.navigate().forward();

3. 网页刷新refresh

        //刷新页面webDriver.navigate().refresh();

4. 完整代码

BrowserControlFbTest.java

package com.libai.test.selenium.chrome;import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;/*** @ClassDescription: 模拟浏览器网页后退、前进、刷新* @JdkVersion: 1.8* @Author: 李白* @Created: 2024/5/10 15:44*/
public class BrowserControlFbTest {public static void main(String[] args) throws InterruptedException {//指定驱动,第一个参数为驱动名称,不同浏览器的参数名称不一样,请根据浏览器查询到对应的浏览器参数名,第二个参数为驱动文件路径,即驱动完整文件路径System.setProperty("webdriver.chrome.driver", "D:\\JavaSoftWares\\Google\\driver\\chromedriver-win64\\chromedriver.exe");// 谷歌驱动ChromeOptions cops = new ChromeOptions();// 允许所有请求cops.addArguments("--remote-allow-origins=*");//默认设置开始打开网页时窗口最大化cops.addArguments("--start-maximized");//创建驱动对象WebDriver webDriver = new ChromeDriver(cops);// 启动需要打开的网页webDriver.get("https://www.baidu.com");//浏览器操作,通过代码模拟浏览器的控制:前进/后退/刷新//等待三秒Thread.sleep(3000);//跳转 到搜狗首页webDriver.navigate().to("https://www.sogou.com");//浏览器前进后退模拟,这里需要注意一点,在百度首页跳转到新的链接地址时必须是在当前窗口跳转(一般默认就是当前窗口打开,如果已经修改为新窗口打开可在浏览器设置中修改),不能在新的窗口中打开,不然后面使用back会失败
//        webDriver.findElement(By.linkText("地图")).click();//我这里就是点地图会用新的窗口打开地图网页(因为浏览器设置中设置了链接跳转到新窗口打开),所以back就失败,于是我用跳转的方式代替,会在当前窗口跳转网页System.out.printf("\n\n\n\n\n\n\n\n\n url:%s \n\n\n\n\n\n\n\n\n\n", webDriver.getCurrentUrl());//等待三秒Thread.sleep(3000);//后退到百度首页webDriver.navigate().back();System.out.printf("\n\n\n\n\n\n\n\n\n url:%s \n\n\n\n\n\n\n\n\n\n", webDriver.getCurrentUrl());//等待三秒Thread.sleep(3000);//前进到搜狗首页webDriver.navigate().forward();System.out.printf("\n\n\n\n\n\n\n\n\n url:%s \n\n\n\n\n\n\n\n\n\n", webDriver.getCurrentUrl());//等待三秒Thread.sleep(3000);//刷新页面webDriver.navigate().refresh();System.out.printf("\n\n\n\n\n\n\n\n\n url:%s \n\n\n\n\n\n\n\n\n\n", webDriver.getCurrentUrl());//等待三秒Thread.sleep(3000);//关闭资源(关闭浏览器窗口,指当前窗口),不会清空缓存webDriver.close();//关闭所有窗口,也就是整个浏览器,且会清空缓存
//        webDriver.quit();}}

感谢阅读,祝君暴富!

这篇关于Selenium自动操作浏览器前进、后退、刷新的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/986125

相关文章

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

springboot如何通过http动态操作xxl-job任务

《springboot如何通过http动态操作xxl-job任务》:本文主要介绍springboot如何通过http动态操作xxl-job任务的问题,具有很好的参考价值,希望对大家有所帮助,如有错... 目录springboot通过http动态操作xxl-job任务一、maven依赖二、配置文件三、xxl-

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指