selenium环境安装及使用
selenium简介
官网
https://www.selenium.dev
简介
用于web浏览器测试的工具
支持的浏览器包括IE,Firefox,Chrome,edge等
使用简单,可使用java,python等多种语言编写用例脚本
主要由三个工具构成,webdriver,IDE,
web自动化环境配置步骤
1、具有python环境
2、安装selenium依赖
3、driver的下载与配置
selenium依赖安装
前提:配置好python环境,配置好pip工具
安装:
pip install selenium
如果遇见如下报错,可以选择使用国内镜像源
pip install selenium -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com或者

driver的下载与配置步骤
1、下载浏览器
(本教程以 chrome 为主,下载地址:https://www.google.cn/chrome/),双击安装即可
2、查看浏览器版本


3、下载对应版本driver
下载地址:http://chromedriver.storage.googleapis.com/index.html


根据自己的系统选择chromedriver,windows 只有32位的,因为Windows 64为也支持运行32为的。点击下载保存并进行解压,记下chromedriver 的路径

4、配置driver的环境变量

5、重启命令行工具,验证是否配置成功

在cmd里面输入
chromedriver --version
在pycharm中验证
from selenium import webdriver# 注意Chrome后面要添加括号,代表实例化这个类
driver = webdriver.Chrome()
# 打开网址
driver.get("https://www.baidu.com/")
# 关闭driver
driver.quit()
遇到的问题
1、执行代码后,浏览器在未加入driver.quit()时,出现闪退现象,
通过如下设置也未生效
# 设置执行完程序后不自动关闭浏览器
options = webdriver.ChromeOptions()
options.add_experimental_option("detach", True)经排查原因发现selenium为4.8.2版本过高导致,安装4.1.1版本后正常


2、浏览器打开后没有打开到最大
设置如下配置未生效
# 浏览器窗口最大化
options.add_argument('--start-maximized')优化代码后生效
# 最大化当前页
driver.maximize_window()
time.sleep(2)
# 刷新当前页面
driver.refresh()
time.sleep(2)最终验证代码如下
from selenium import webdriver
import time# 注意Chrome后面要添加括号,代表实例化这个类
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
# 最大化当前页
driver.maximize_window()
time.sleep(2)
# 刷新当前页面
driver.refresh()
time.sleep(2)
# 关闭driver
driver.quit()

相关文章:
selenium环境安装及使用
selenium简介官网https://www.selenium.dev简介用于web浏览器测试的工具支持的浏览器包括IE,Firefox,Chrome,edge等使用简单,可使用java,python等多种语言编写用例脚本主要由三个工具构成,webdriver,IDE,web自动化环境…...
高性能低功耗4口高速USB2.0 HUB 完美替代FE1.1S和FE8.1
该NS1.1s是一个高度集成的,高品质,高性能,低功耗,为USB 2.0高速4端口集线器又低成本的解决方案。 (点击即可咨询芯片详细信息) NS1.1s的特点 1.通用串行总线规范修订版2.0(USB 2.0)完…...
Go全栈学习(一)基础语法
Go语言基础语法 文章目录Go语言基础语法注释变量变量的定义变量的交换理解变量(内存地址)匿名变量变量的作用域常量2023.2.4日 总结// 关于Goland 中 执行的问题// 1、包下执行 (一个 main 函数来执行,如果有多个,无法…...
centos7搭建svn配置
基本概述 Apache Subversion(简称SVN,svn),一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS转移到Subversion。…...
趣味三角——第12章——tanx
第12章节 tanx In his very numerous memoires, and especially in his great work, Introductio in analysin infinitorum (1748), Euler displayed the most wonderful skill in obtaining a rich harvest of results of great interest. . . . Hardly any other work …...
Java - 数据结构,栈
一、栈 1.1、什么是栈 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压…...
某餐厅系统网络故障分析案例
背景 针对食堂经营企业,某堂食软件为客户提供优化堂食就餐流程、提高食堂服务水平和管理效率。 某上海客户使用该堂食系统,在就餐高峰时段,总是出现支付、点餐等操作缓慢,动辄一个操作需要等待几十秒。该客户联系软件厂商&#…...
华为OD机试题,用 Java 解【密室逃生游戏】问题
最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…...
如何重命名SQL Server数据库
重命名SQL Server数据库 使用T-SQL重命名SQL Server数据库使用分离和附加重命名SQL Server数据库使用T-SQL查询分离和重新连接在SSMS中分离和重新连接通过SSMS重命名SQL Server数据库当使用SQL数据库很长一段时间时,你可能会遇到需要为数据库命名的情况。它可以用几种不同的方…...
联想昭阳E5-ITL电脑开机后绿屏怎么U盘重装系统?
联想昭阳E5-ITL电脑开机后绿屏怎么U盘重装系统?有用户电脑正常开机之后,出现了屏幕变成绿屏,无法进行操作的情况。这个问题是系统出现了问题,那么如何去进行问题的解决呢?接下来我们一起来分享看看如何使用U盘重装电脑…...
车载开发知识交流【学习路线】
前言 在2023国内百废待兴;经济复苏的号召一直在响应,这对于压抑了三年的人民来说无疑是福音。这篇我们主要说一下拉动经济的其中大板块——车企;我们知道我们最大的经济除了房地产,第二就是车企。而在造车领域中也不断的加入了许…...
【读书笔记】《深入浅出数据分析》第二章 检验你的理论
文章目录一,相关分析方法1,相关系数二,相关性不等于因果关系三,证明因果关系,“控制变量法”?本章主要说明了两个问题: 1,相关性不等于因果关系 2,如何判断两种数据之间是相关性&am…...
pyflink学习笔记(一):table_apisql
具体定义请参考官方文档:https://nightlies.apache.org/flink/flink-docs-release-1.16/zh/docs/dev/table/overview/本文主要针对实际使用中比较常用的api进行整理,大多数例子都是官网,如有歧义可与官方对照。一、 创建 TableEnvironmentTab…...
GCC 编译器套件说明
写在前面: 本文章旨在总结备份、方便以后查询,由于是个人总结,如有不对,欢迎指正;另外,内容大部分来自网络、书籍、和各类手册,如若侵权请告知,马上删帖致歉。 目录GCC 简述GCC 主要…...
IDEA集成Git
1:IDEA集合Git1.1:配置Git忽略文件-IDEA特定文件问题 1:为什么要忽略他们?答: 与项目的实际功能无关, 不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。问题 2:怎么忽略?1&a…...
算法流程图
里程计定位: 优:定位信息连续,无离散的跳跃 缺:存在累计误差,不利于长距或长期定位 传感器定位: 优:比里程计定位更精准 缺:会出现跳变情况,且传感器定位在标志物较少的环…...
Java中安装JDK环境–javac命令无效
Java中安装JDK环境–javac命令无效 一,安装JDK1.8 阿里云盘地址推荐 我们可以选择安装地址,这个地址是我们用来配置环境变量的,唯一注意的是这个,其他的都是默认下一步。直至安装完成,jdk下载地址https://www.oracl…...
递推问题
递推:在面对一个大任务的时候,有时候我们可以将大任务划分为小任务,再将小任务划分为更小的任务......,直到遇到初始情况,最后由初始情况一直往前推进,最后解决大任务,这就是递推的思想。递推问…...
js中强制类型转换Number、parseInt、parseFloat、Boolean、String、toString的使用
文章目录一、Number() 转换为整数二、Number.parseInt() 将字符串转换为整数三、Number.parseFloat() 将字符串转换为浮点数四、Boolean() 转换为布尔值五、String() 转换为字符串六、.toString() 转换为字符串最近在巩固 js 的基础知识,今天复习到了 js 中的数据类…...
漏斗分析法
一什么是漏斗分析? 漏斗分析是数据领域最常见的一种“程式化”数据分析方法,它能够科学地评估一种业务过程,从起点到终点,各个阶段的转化情况。通过可以量化的数据分析,帮助业务找到有问题的业务环节,并进…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
简单介绍C++中 string与wstring
在C中,string和wstring是两种用于处理不同字符编码的字符串类型,分别基于char和wchar_t字符类型。以下是它们的详细说明和对比: 1. 基础定义 string 类型:std::string 字符类型:char(通常为8位)…...
性能优化中,多面体模型基本原理
1)多面体编译技术是一种基于多面体模型的程序分析和优化技术,它将程序 中的语句实例、访问关系、依赖关系和调度等信息映射到多维空间中的几何对 象,通过对这些几何对象进行几何操作和线性代数计算来进行程序的分析和优 化。 其中࿰…...
