当前位置: 首页 > news >正文

浏览器常用基本操作之python3+selenium4自动化测试

1、打开指定的网页地址

我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现

1

2

3

from selenium import webdriver

driver = webdriver.Edge()

driver.get('https://www.baidu.com/')   # 本行用于访问指定的地址

2、获取当前页面url

我们在测试过程中,有时需要获取当前页面的url以判断是否跳转到指定页面,获取页面url的方法如下:

1

2

3

4

5

from selenium import webdriver

driver = webdriver.Edge()

driver.get('https://www.baidu.com/')

url = driver.current_url    # 本行用于获取当前页面的url,即百度首页地址

print(url)

 

3、返回按钮

返回按钮,也就是浏览器左上角的 ← 键,模拟点击此按钮操作如下
driver.back()

 

如,在百度搜索框中输入selenium并点击搜索,然后点击返回按钮,实现如下

1

2

3

4

5

6

7

8

9

10

from selenium import webdriver

from selenium.webdriver.common.by import By

import time

driver = webdriver.Edge()

driver.get('https://www.baidu.com/')

driver.find_element(By.ID, 'kw').send_keys('selenium'#搜索框输入selenium

driver.find_element(By.ID, 'su').click()     # 点击百度一下

time.sleep(3)

driver.back()  # 返回

本段代码表示在输入框中输入selenium后,再点击百度一下进行搜索,3秒后再返回百度首页

4、前进按钮

前进按钮,相对于后退的 ← ,是浏览器左上角的 → 按钮 ,操作此按钮方法如下:
driver.forward()

如,在百度搜索框中输入selenium并点击搜索,然后点击返回按钮后再点击前进按钮,实现如下

1

2

3

4

5

6

7

8

9

10

11

from selenium import webdriver

from selenium.webdriver.common.by import By

import time

driver = webdriver.Edge()

driver.get('https://www.baidu.com/')

driver.find_element(By.ID, 'kw').send_keys('selenium'#搜索框输入selenium

driver.find_element(By.ID, 'su').click()     # 点击百度一下

driver.back()   # 返回

time.sleep(3)

driver.forward()  # 前进

本段代码表示在输入框中输入selenium后,再点击百度一下进行搜索,然后返回操作,3秒后再进行前进操作,最终停留在输入selenium之后执行搜索的结果页面

5、刷新页面

测试过程中,刷新页面是经常使用的操作,selenium进行刷新操作方法如下
driver.refresh()
使用此方法类似于按下F5或点击左上角的刷新按钮

 

from selenium import webdriver

driver = webdriver.Edge()

driver.get('https://www.baidu.com/')

driver.refresh()    # 刷新页面

本段代码表示打开百度首页并刷新页面

6、获取当前页面title

测试过程中,可以使用selenium获取当前页面的title,方法如下:
driver.title

 

使用selenium获取百度首页的title,示例如下:

1

2

3

4

5

6

from selenium import webdriver

driver = webdriver.Edge()

driver.get('https://www.baidu.com/')

title = driver.title  # 获取当前页面title

print(title)

以上代码运行后,将在控制台输出百度首页的title 百度一下,你就知道

7、窗口大小操作

常用的窗口操作有设置窗口大小、最大化窗口、最小化窗口、全屏窗口

① 设置窗口大小
driver.set_window_size(1920, 1080)

② 最大化窗口
driver.maximize_window()

③ 最小化窗口
driver.minimize_window()
最小化窗口是selenium4的新功能,selenium3不能使用此方法

④ 全屏窗口,相当于大多数浏览器中按下F11
driver.fullscreen_window()

示例代码:

1

2

3

4

5

6

7

8

from selenium import webdriver

driver = webdriver.Edge()

driver.get('https://www.baidu.com/')

driver.set_window_size(1920, 1080)   # 设置窗口大小 1920*1080

driver.minimize_window()  # 最小化窗口

driver.maximize_window()  # 最大化窗口

driver.fullscreen_window() # 全屏窗口

本段代码打开百度首页后,先将浏览器窗口大小设置为1920*1080,然后依次最小化窗口、最大化窗口、全屏窗口,实际进行测试时,需要根据需要进行设置

8、退出

测试执行完成后,需要退出浏览器,否则多次运行测试会导致系统残留大量的驱动进程,这些进程会消耗计算机资源,导致系统越来越卡,所以养成测试完成后关闭浏览器是个良好习惯

退出浏览器操作如下:

1

2

3

4

5

6

7

8

from selenium import webdriver

from selenium.webdriver.common.by import By

driver = webdriver.Edge()

driver.get('https://www.baidu.com/')

driver.find_element(By.ID, 'kw').send_keys('selenium'#搜索框输入selenium

driver.find_element(By.ID, 'su').click()     # 点击百度一下

driver.quit()     # 退出浏览器

本段代码表示打开百度首页,再输入框中 输入selenium后点击百度一下,完成搜索后退出浏览器

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

相关文章:

浏览器常用基本操作之python3+selenium4自动化测试

1、打开指定的网页地址 我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现 1 2 3 from selenium import webdriver driver webdriver.Edge() driver.get(https://www.baidu.com/)…...

在MySQL中使用VARCHAR字段进行日期筛选

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

微信小程序自定义步骤条效果

微信小程序自定义一个步骤条组件,自定义文字在下面,已完成和未完成和当前进度都不一样的样式,可点击上一步和下一步切换流程状态,效果如下。 这是视频效果: 前端实现步骤条效果 下面我们一步步实现编码,自定…...

QT的信号与槽

QT的信号与槽 文章目录 QT的信号与槽前言一、QT 打印"hello QT"的dome二、信号和槽机制?二、信号与槽的用法1、QT5的方式1. 无参的信号与槽的dome2.带参的信号与槽dome 2、QT4的方式3、C11的语法 Lambda表达式1、函数对象参数2、操作符重载函数参数3、可修…...

Python 为UnityAndroid端自动化接入Tradplus广告SDK

Python 为UnityAndroid端自动化接入Tradplus广告SDK Tradplus介绍常规接入进入Android开发文档选择渠道配置生成接入代码人工依赖下载官网同版本的 Unity插件 使用自动化工具接入首次 你需要打两个标记来定位运行工具 控制台会列出最新的十个Tradplus版本 任选其一然后拖入项目…...

Matplotlib基础

目录: 一、绘制yx^2图像: 一、绘制yx^2图像: from matplotlib import pyplot as plt import numpy as np #生成(-50,50)的数组 x np.arange(-50,50) #计算因变量y的值 y x ** 2 #根据x、y数组绘制图形yx^2 plt.plot…...

上海东海职业技术学院低代码实训平台建设项目竞争性磋商公告

上海东海职业技术学院低代码实训平台建设项目竞争性磋商公告 招标|招标公告 上海市|闵行区 项目编号:0773-2340GNSHFWCS2823 招标单位:上海东海职业技术学院 代理单位:中金招标有限责任公司 预算金额:59万元 联系方式&…...

c语言之将输入的十进制转换成二进制数并打印原码反码补码

十进制转二进制 首先,我们要知道的是十进制转换成二进制数的方法。我们一般采用的除二取余的方法,在这里我用32位数组来进行转换。 int main() {printf("请输入一个十进制数\n");int n 0;scanf("%d", &n);int arr[32];int* p…...

算法题明明的随机数

第一行先输入随机整数的个数 N 。 接下来的 N 行每行输入一个整数,代表明明生成的随机数。 具体格式可以参考下面的"示例"。 import java.util.Iterator; import java.util.Scanner; import java.util.TreeSet; // 注意类名必须为 Main, 不要有任何 pa…...

B站不赚钱、“芒果”赚钱难,视频“后浪”火拼跨年夜

又是一年跨年时。 各大视频平台跨年晚会展开火拼,今年谁是赢家? 作为视频“后浪”,芒果超媒(300413.SZ)、哔哩哔哩(09626.HK,下称“B站”)此前相继公布了2023年三季报,…...

ajax请求的详细流程+详细示例

AJAX(Asynchronous JavaScript and XML)是一种用于创建异步 Web 应用程序的技术。下面是 AJAX 请求的详细流程: 创建 XMLHttpRequest 对象:在 JavaScript 代码中,使用 new XMLHttpRequest() 创建一个 XMLHttpRequest 对…...

这些产品手册制作工具,你都值得收藏

产品手册是企业向消费者传达产品信息的重要媒介,它能够直接影响消费者对产品的了解和购买决策。然而,制作一份专业而吸引人的产品手册并非易事,需要一定的设计和排版能力。为了帮助企业和个人更轻松地制作出优质的产品手册,下面将…...

跨账号和同账号的ECS云服务器之间迁移教程

阿里云ECS实例间迁移场景如下: 场景一:跨账号ECS实例间迁移 此场景适用于跨账号,同地域或者跨地域下的ECS实例间的迁移。例如:将阿里云账号A下的ECS实例,迁移阿里云B账号下。 场景二:同账号ECS实例间迁移 …...

python virtualenv 虚拟环境命令

# 安装 virtualenv pip3.9 install virtualenv # 创建虚拟环境test mkdir /envs # 创建一个文件夹放置虚拟环境 cd /envs/ virtualenv /envs/test # --pythonpython3.9 # 激活虚拟环境test source /envs/test/bin/activate # 安装依…...

深入理解MySQL索引底层数据结构

听课问题(听完课自己查资料) 什么是二叉树 二叉树是怎么存储数据的一个链表是一个集合的数据结构 List是怎么便利找到指定下标元素为什么会快?什么是红黑树 红黑树是怎么存储数据的什么是B TREE 是怎么存储数据的什么是BTREE 是怎么存储数据的 疑惑答案 a. 二叉树…...

使用 Tkinter 制作一个进制转换工具,好用!

在平时工作学习当中,我们经常会编写一些简单的 Python GUI 工具,以此来完成各种各样的自动化任务,比如批量处理文件,批量处理图片等等。当我们进行这些工具的编写之时,往往只关注了功能的实现,而忽略了页面…...

Final Cut 视频剪辑快速入门,小白上手视频课的制作

本文是一个快速入门教程,如果您是0视频处理基础,又想录制网课或是一些对效果要求不高的视频那么这篇教程足够使用了。 本文主要用Final Cut处理视频课,本文是笔者在制作视频课过程中逐渐摸索的,如果您想制作一些比较专业的视频&a…...

分布式定时任务Xxl_Job详细使用手册

看了很多网上的版本,思路描述的都不是很清晰,都只是几步操作就完成了,看效果,导致容易走入弯路(不排除是自己理解能力把),最开始以为是把admin模块集成到项目,后来测试了会&#xff…...

【PostgreSQL】表操作-修改表

【PostgreSQL】表操作快速链接 创建表及基础表命令 修改表 表权限 添加列 ALTER TABLE products ADD COLUMN description text;新列最初填充给定的任何默认值DEFAULT(如果未指定子句,则为 null)。 注意: 从 PostgreSQL 11 开始…...

【Java系列】文件操作详解

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习JavaEE的一点学习心得,欢迎大家在评论区交流讨论💌 目录 …...

docker-compose 安装 RocketMq

目录 1、rocketMq 官网 2、工作流程 RocketMQ集群工作流程​ 1. 启动NameServer​ 2. 启动 Broker​ 3. 创建 Topic​...

【心得】PHP反序列化高级利用(phar|session)个人笔记

目录 ①phar反序列化 ②session反序列化 ①phar反序列化 phar 认为是java的jar包 calc.exe phar能干什么 多个php合并为独立压缩包,不解压就能执行里面的php文件,支持web服务器和命令行 phar协议 phar://xxx.phar $phar->setmetadata($h); m…...

MyBatisPlus之增删改查

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 MyBatisPlus之增删改查 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是Mybati…...

pytorch03:transforms常见数据增强操作

目录 一、数据增强二、transforms--Crop裁剪2.1 transforms.CenterCrop2.2 transforms.RandomCrop2.3 RandomResizedCrop2.4 FiveCrop和TenCrop 三、transforms—Flip翻转、旋转3.1RandomHorizontalFlip和RandomVerticalFlip3.2 RandomRotation 四、transforms —图像变换4.1 t…...

blob文件流前端显示pdf

首先请求需要修改 responseType: ‘blob’, 需要修改 请求头 {responseType: blob,url: url,method: get,}三种方法: 1.直接处理,在新页面打开 const blob new Blob([data],{ type:application/pdf }) let url window.URL.createObjectURL(blob) wi…...

Android 接入第三方数数科技平台

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、数数科技平台是什么?二、使用步骤1.集成SDK2. 初始化3. 发送事件和设置账号id4. 验证发送事件是否成功 小结 前言 一个成熟的App必然不可缺少对…...

LVM和磁盘配额

一:LVM概述: LVM 是 Logical Volume Manager 的简称,译为中文就是逻辑卷管理。 能够在保持现有数据不变的情况下,动态调整磁盘容量,从而提高磁盘管理的灵活性 /boot 分区用于存放引导文件,不能基于LVM创建…...

uni-app uni-app内置组件

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…...

C语言——格式说明符前面加修饰符

在C语言中,格式说明符前面可以添加一些修饰符来控制输出或输入的格式,主要包括宽度、精度、左对齐标志和前缀填充字符等。 1. 宽度(Width) %[width]type:这里的width是一个非负整数,表示输出字段的最小宽度…...

实验室(检验科)信息系统LIS源码,客户端:WPF+Windows Forms

lis系统源码,医学检验信息系统源码 LIS系统(Laboratory Information System)即实验室(检验科)信息系统,它将检验仪器付出的检验数据与相关信息接入计算机网络系统中,让患者、实验室、临床科室、…...

查服务器ip地址/辽宁seo推广

一、systemctl介绍 通常,Linux 的启动一直采用init进程。 我们经常看到 $ sudo /etc/init.d/apache2 start 或者 $ service apache2 start 这种方法有两个缺点: 一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动…...

免费手机版网站建设/灰色词快速排名方法

最近使用jmeter测试接口并发,所测接口需要登录后才可执行,开始尝试把登录和接口执行写到一个线程组中,但是发现在并发执行时,单点登录容易报错,故改成登录单独线程组。分线程组后,由于cookie管理器所存的co…...

做动漫短视频网站/企业营销案例

访谈问题 问题描述:房间共享公司(如Airbnb)希望帮助客房供应商 他们的房间价格合理。其中一个关键步骤是建立一个模型来预测 在一定条件下,一个房间的购买概率(由某些特征和日期描述) 数据发布在:三态电子商务公司算法岗面试题 (培训5万人次,测试数据2万人次) 目标…...

有源码手机怎么搭建网站/百度如何推广网站

gitHub是一个代码托管服务的提供商,可以提供个人或者企业的代码托管,同时它也是一个巨大的开源社区。-- https://github.com/ 对于企业的代码协作,如果采用http的方式登录,那么每次进行需要交互的操作时,都必须输入账户…...

网站准备建设的内容/seo关键词是什么意思

CuteEditor是一款功能非常强大,支持图片上传、文件下载和word类似的文字编辑器。对于新闻发布系统和博客之类的系统,是非常的方便的。 一、CuteEditor的配置 1、将以下文件考贝到你站点根目录下的bin内 (这些在CuteEditor6.0/bin下都可以找到&#xff…...

网站建设方案书模板下载/百度竞价调价软件

有限状态机(Finite-state machine)是一个非常有用的模型,可以模拟世界上大部分事物。 简单说,它有三个特征: * 状态总数(state)是有限的。* 任一时刻,只处在一种状态之中。* 某种条件…...