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

python自动化测试(一):操作浏览器

通过Python的代码去操作浏览器的操作

目录

目录

1、导入自动化模块

2、定义打开的浏览器驱动、声明一个url变量保存打开的地址

3、使用函数:driver.get(url)打开浏览器的指定页面

4、最大化浏览器窗口:driver.maximize_window()

5、添加全局的等待时间

6、再保存一个新的url地址,然后打开

7、返回到上一个页面:driver.back()

8、前进一个页面:driver.forward()

9、通过:driver.set_window_size() 设置浏览器的窗口尺寸,参数1为宽、参数2为高,单位是px

10、通过:driver.set_window_position(height,width) 设置浏览器窗口在屏幕中的位置

11、关闭浏览器、但不结束py进程

12、关闭浏览器、结束进程

13、完整编码

操作步骤

1、导入自动化模块
# 导入自动化的模块
from selenium import webdriver
import time
2、定义打开的浏览器驱动、声明一个url变量保存打开的地址
# 定义一个浏览器、声明一个url地址
driver = webdriver.Chrome()
url = "https://www.baidu.com"
3、使用函数:driver.get(url)打开浏览器的指定页面
#用get()函数打开一个网页
driver.get(url)
4、最大化浏览器窗口:driver.maximize_window()
#最大化浏览器窗口
driver.maximize_window()
5、添加全局的等待时间
#添加全局的等待时间
driver.implicitly_wait(10)

在Selenium中,driver.implicitly_wait(timeout) 是一种设置全局等待的方式,

它用于指定在查找元素时,如果该元素还未出现,

Selenium会等待多久再去抛出NoSuchElementException异常。

换句话说,它会影响到所有的元素搜索,而不仅仅是在当前位置之后的代码。

6、再保存一个新的url地址,然后打开

变量url2,保存的是百度的新闻链接

url2 = "https://news.baidu.com"
driver.get(url2)
time.sleep(2) # 让程序休眠2s

这里用time.sleep()让程序休眠2s,然后继续后续操作

7、返回到上一个页面:driver.back()
# 返回到上一个页面
driver.back()
time.sleep(2)
8、前进一个页面:driver.forward()
#前进
driver.forward()
9、通过:driver.set_window_size() 设置浏览器的窗口尺寸,参数1为宽、参数2为高,单位是px
# 设置浏览器窗口尺寸
driver.set_window_size(400, 500)  # 单位是像素px
10、通过:driver.set_window_position(height,width) 设置浏览器窗口在屏幕中的位置
#设置浏览器窗口的位置
#driver.set_window_position(300,200)
11、关闭浏览器、但不结束py进程
#只关闭浏览器但不结束进程
driver.close()
12、关闭浏览器、结束进程
# 关闭浏览器的同时结束进程
driver.quit()
13、完整编码

 

# 导入自动化的模块
from selenium import webdriver
import time# 定义一个浏览器
driver = webdriver.Chrome()
url = "https://www.baidu.com"# 用get()函数打开一个网页
driver.get(url)# 最大化浏览器窗口
driver.maximize_window()# 添加全局的等待时间
driver.implicitly_wait(10)# 打开新的url地址
url2 = "https://news.baidu.com"
driver.get(url2)
time.sleep(2)# 返回到上一个页面
driver.back()
time.sleep(2)# 前进
driver.forward()# 设置浏览器窗口尺寸
driver.set_window_size(400, 500)  # 单位是像素px# 设置浏览器窗口的位置
driver.set_window_position(300, 200)# 只关闭浏览器但不结束进程
# driver.close()# 关闭浏览器的同时结束进程
driver.quit()

相关文章:

python自动化测试(一):操作浏览器

通过Python的代码去操作浏览器的操作 目录 目录 1、导入自动化模块 2、定义打开的浏览器驱动、声明一个url变量保存打开的地址 3、使用函数:driver.get(url)打开浏览器的指定页面 4、最大化浏览器窗口:driver.maximize_window() 5、添加全局的等待…...

NReco.LambdaParser使用案例

使用案例集合: private async void RuleEngine_Click(object sender, EventArgs e){#region 获取变量string expression this.Rule.Text.Trim();string pattern "\$(.*?)\$";MatchCollection matches Regex.Matches(expression, pattern);foreach (Ma…...

苹果IOS安装IPA, plist形式 Safari 浏览器点击安装

快速链接 苹果开发者账号链接 网址: https://developer.apple.com/account 苹果应用上架链接 网址: https://appstoreconnect.apple.com/ 应用证书文件及打包 参考教程: 最新uniapp打包IOS详细步骤(2022) 证书在线制作工具 网址: https://app.121xuexi.…...

Django 注册及创建订单商品

注册功能的实现 user/views from rest_framework.generics import GenericAPIView from rest_framework.views import APIViewfrom apps.user.models import User from apps.user.serializers import UserSerializer from utils import ResponseMessage from utils.jwt_auth …...

15、Python -- 阶段总结:变量与流程控制

目录 变量变量没有类型,数据有类型 表达式程序流程 变量 变量:编程的本质就是处理数据,数据需要用变量保存 Python语言的特征: 所有变量无需声明,即可使用 变量没有类型 变量没有类型,数据有类型 已学过…...

信息检索与数据挖掘 | 【实验】排名检索模型

文章目录 📚实验内容📚相关概念📚实验步骤🐇分词预处理🐇构建倒排索引表🐇计算query和各个文档的相似度🐇queries预处理及检索函数🔥对输入的文本进行词法分析和标准化处理&#x1f…...

玩转AIGC:打造令人印象深刻的AI对话Prompt

玩转AIGC:打造令人印象深刻的AI对话Prompt 《玩转AIGC:打造令人印象深刻的AI对话Prompt》摘要引言正文良好的Prompt:引发AI深度交流的法宝 ✨探讨不同的提问方式1. 常规提问2. 创意提问 对话交流的艺术:倾听与引导的巧妙平衡 ⚖️…...

uniapp vue国际化 i18n

一、安装 vue-i18n npm i vue-i18n 二、新建i18n目录 1、en.json 内容 {"loginPage":{"namePh":"Please enter your login account","passwordPh":"Please enter password"} } 2、zh-CN.json 内容 {"loginPage&qu…...

Docker 启动远程服务访问不了

今天一下午在弄这个 1、防火墙是否关了 firewall-cmd --state2、ip转发开没开 sysctl net.ipv4.ip_forward3、service iptables是不是打开并拦截了 4、检查docker启动的端口号是否一致,或者启动时对不对 5、检查docker的服务是否起来了,比如你的端口号…...

[ACTF2020 新生赛]Exec

【解题过程】 1.打开链接 得到一个能ping 的网站,可以推测这个可以在终端运行的网站。 2.解题思路 在执行的时候我们可以想到命令执行的“;”分号的作用:命令用分号分隔开来,表示它们是两个独立的命令,需要依次执行。…...

Git(三).git 文件夹详解

目录 一、初始化新仓库二、.git 目录2.1 hooks 文件夹2.2 info 文件夹2.3 logs 文件夹2.4 objects 文件夹【重要】2.5 refs 文件夹【重要】2.6 COMMIT_EDITMSG2.7 config2.8 description2.9 FETCH_HEAD2.10 HEAD【重要】2.11 index【重要】2.12 ORIG_HEAD2.13 packed-refs 官网…...

esp32-S3 + visual studio code 开发环境搭建

一、首先在下面链接网页中下载esp-idf v5.1.1离线安装包 ,并安装到指定位置。dl.espressif.cn/dl/esp-idf/https://dl.espressif.cn/dl/esp-idf/ 安装过程中会提示需要长路径支持,所以windows系统需要开启长路径使能 Step 1: 打开运行&…...

4.1 网络基础之网络IO

一、编写基本服务程序流程 1、创建套接字 #include <sys/types.h> #include <sys/socket.h>int socket(int domain, int type, int protocol);/* * 参数domain通讯协议族&#xff1a; * PF_INET IPv4互联网协议族&#xff08;常用&#xff09; * PF_INET6 …...

[100天算法】-和为 K 的子数组(day 39)

题目描述 给定一个整数数组和一个整数 k&#xff0c;你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums [1,1,1], k 2 输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。 说明 :数组的长度为 [1, 20,000]。 数组中元素的范围是 [-1000, 1000] &#xff0c;且整…...

Leo赠书活动-02期 【信息科技风险管理:合规管理、技术防控与数字化】

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 赠书活动专栏 ✨特色专栏&#xff1a;…...

L2-026 小字辈 - java

L2-026 小字辈 时间限制 400 ms 内存限制 64 MB 题目描述&#xff1a; 本题给定一个庞大家族的家谱&#xff0c;要请你给出最小一辈的名单。 输入格式&#xff1a; 输入在第一行给出家族人口总数 N&#xff08;不超过 100 000 的正整数&#xff09; —— 简单起见&#xff0c…...

排序算法-堆积树排序法(HeapSort)

目录 排序算法-堆积树排序法&#xff08;HeapSort&#xff09; 1、说明 2、算法分析 3、C代码 排序算法-堆积树排序法&#xff08;HeapSort&#xff09; 1、说明 堆积树排序法是选择排序法的改进版&#xff0c;可以减少在选择排序法中的比较次数&#xff0c;进而减少排序…...

名词解释 MongoDB

MongoDB 是一个面向文档的数据库管理系统&#xff0c;它不使用传统的表格结构&#xff0c;而是将数据组织成类似文档的形式&#xff0c;通常使用JSON格式。 文档数据库&#xff1a;数据以文档的形式存储&#xff0c;每个文档可以包含不同的字段&#xff0c;就像一个文件可以包…...

Look Back(cf div3 905)

题意&#xff1a;给你一个长度为n&#xff08;(1≤n≤10^5)数组a[]&#xff0c;你可以进行一个操作 使a[i]a[i]*2,问最少经过多少次这样的操作使的a[]不递减,a[i]>a[i-1]。 输入样例&#xff1a; 6 1 1 2 1 1 3 1 2 1 4 2 3 2 1 5 4 5 4 5 4 10 1 7 7 2 3 4 3 2 1 100 输出…...

Spring框架的发展历程

Spring框架的发展历程 自2004年以来&#xff0c;Spring框架已经成为Java开发人员最受欢迎的开源框架之一。它提供了一个全面的编程和配置模型&#xff0c;旨在简化企业级Java应用程序的开发过程。本文将详细介绍Spring框架的发展历程&#xff0c;以及它如何为Java开发人员提供…...

用Python和OpenCV手把手教你搞定自动驾驶图像坐标系转换(附NuScenes数据集实战代码)

用Python和OpenCV手把手教你搞定自动驾驶图像坐标系转换&#xff08;附NuScenes数据集实战代码&#xff09; 自动驾驶技术的核心在于让车辆"看懂"周围环境&#xff0c;而坐标系转换正是连接物理世界与数字世界的桥梁。想象一下&#xff0c;当一辆自动驾驶汽车行驶在…...

MTKClient终极指南:解锁联发科芯片调试的专业解决方案

MTKClient终极指南&#xff1a;解锁联发科芯片调试的专业解决方案 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient MTKClient作为一款专为联发科&#xff08;MediaTek&#xff09;芯片设计的…...

Python与ChatGPT构建智能办公自动化:从任务分解到智能体系统

1. 项目概述&#xff1a;用Python与ChatGPT联手&#xff0c;让办公自动化“开口说话”如果你每天还在重复着打开Excel、复制粘贴数据、手动写邮件、整理报告这些枯燥的活儿&#xff0c;那这个项目可能就是你的“数字员工”入职通知书。Sven-Bo/automate-office-tasks-using-cha…...

线程化笔记工具:重塑深度思考与知识管理的技术实践

1. 项目概述&#xff1a;一个为线程化思考而生的笔记工具最近在折腾个人知识管理工具时&#xff0c;发现了一个挺有意思的开源项目&#xff1a;alishobeiri/thread-notebook。乍一看名字&#xff0c;可能会以为是又一个普通的Markdown笔记本应用。但深入使用后&#xff0c;我发…...

LLM应用快速演示框架:从架构解析到智能体开发的实战指南

1. 项目概述&#xff1a;一个面向开发者的LLM应用快速演示框架最近在GitHub上闲逛&#xff0c;发现了一个名为wronai/llm-demo的项目&#xff0c;点进去一看&#xff0c;瞬间觉得眼前一亮。这可不是又一个简单的“Hello World”式的大语言模型调用示例&#xff0c;而是一个结构…...

基于Stable Diffusion与LoRA技术打造个人AI头像:从原理到实战

1. 项目概述&#xff1a;当AI开始“自拍”——SelfyAI的定位与核心价值最近在AI图像生成领域&#xff0c;一个名为SelfyAI的项目引起了我的注意。它不是一个简单的文生图工具&#xff0c;而是瞄准了一个非常具体且高频的需求&#xff1a;生成高质量、风格一致的个人AI头像。简单…...

智能游戏助手:League Akari如何彻底改变你的英雄联盟体验

智能游戏助手&#xff1a;League Akari如何彻底改变你的英雄联盟体验 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否曾在英雄选择阶段手…...

AI原生编程语言Reia:为LLM设计的编程范式变革

1. 项目概述&#xff1a;Reia&#xff0c;一个面向未来的AI原生编程语言最近在AI和编程语言交叉领域&#xff0c;一个名为Reia的项目引起了我的注意。它来自Quaint-Studios&#xff0c;定位是“AI原生”的编程语言。这听起来有点抽象&#xff0c;但简单来说&#xff0c;Reia试图…...

ARM Cortex-A5 SCU架构与多核缓存一致性解析

1. ARM Cortex-A5 SCU架构解析SCU&#xff08;Snoop Control Unit&#xff09;是Cortex-A5多核处理器中的关键组件&#xff0c;主要负责维护多核间的缓存一致性。当某个CPU核心修改了共享内存区域的数据时&#xff0c;SCU会自动通知其他核心的缓存进行更新或失效操作。这种机制…...

AI异步任务编排引擎:从原理到实战,构建可靠工作流系统

1. 项目概述&#xff1a;AI驱动的异步任务编排引擎在当今的软件开发领域&#xff0c;尤其是涉及数据处理、机器学习模型训练、自动化工作流等场景时&#xff0c;我们常常会面临一个核心挑战&#xff1a;如何高效、可靠地编排和管理一系列耗时且可能相互依赖的异步任务。传统的解…...