目录一、什么是自动化测试1.1单元测试1.2接口自动化1.3UI自动化二、如何实施自动化测试三、自动化测试需要了解的技能四、selenium介绍4.1SeleniumIDE4.2Webdriver4.3seleniumGrid五、webdriverAPI5.1元素的定位5.2操作测试对象5.3添加等待5.4打印信息5.5浏览器的操作5.6键盘事件5.7鼠标事件一、什么是自动化测试自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。自动化测试包括UI自动化,接口自动化,单元测试自动化。按照这个金字塔模
xpath的基本使用//body/div[last()]body下的最后一个div元素//div[@id]div下带id属性的元素//body/*body下面所有的元素//div[@*]只要有用属性的div元素//div[@id='footer']//div带有id='footer'属性的div下的所有div元素/@href获取标签内元素值//book/title|//book/price选取book元素的所有title和price元素。selenium在结合xpath使用#xpath获取的是多个元素数据,通过selenium只能获取到第一个元素#返回值为字符串a=driver.find_el
自动获取谷歌版本,并自动下载对应版本的chromedriver.exe前言获取谷歌版本(获取google版本)定义下载驱动方法下载逻辑判断最后送个小福利前言因为电脑google浏览器自动升级,还有就是其他同事使用的Google浏览器版本与自己的不一致,需要重复去下载,所有老是需要重新去下载驱动,很麻烦,所有写了一个自动下载驱动的方法。当前方法只适配了Windows上的google驱动,其它系统和浏览器可以自己修改适配一下。获取谷歌版本(获取google版本)#__*__coding:utf-8__*__importos#获取浏览器版本,windowschromeV=os.popen('regq
目录一、动态IP1.三种代理模式2.实用代理平台3.测试代理IP能不能用4.伪装请求头User-Agent二、多线程下载三、Selenium爬虫1.爬取班级同学的录取情况四、常用操作与个人经验1. 遍历list下的内容2.个人经验一、动态IP 首先介绍动态IP的重要性。 在数据量较小的情况下,本地IP访问量不大,不会出现问题。但是在数据量较大的情况下,如果不采用动态IP的问题,那么会导致IP被对方网站拉黑,甚至在浏览器都打不开对方网址,更不要说爬虫或下载任务。因此,IP代理十分重要。1.三种代理模式(1)透明代理 代理服务器将客户端的信息转发至目标访问对象,并没有完全
1.问题所在这个错误消息表明你正在使用的ChromeDriver版本与你电脑上已安装的GoogleChrome版本不兼容。这个时候你有两种解决方案,一种是更改Chrome的版本,而另一种是重新下载ChromeDriver的版本。很显然,重新下载ChromeDriver的版本更为可取。2.查看Chrome浏览器的版本首先打开Chrome浏览器,选择并勾选帮助,找到关于GoogleChrome选项,点击即可查看Chrome的版本,具体如下图所示:很显然,我的Chrome浏览器版本是114。因此,我们去下载对应的114ChromeDriver驱动即可!3.下载ChromeDriver驱动点击Chro
在搭建Selenium的web自动测试环境的时候,明明成功安装了Selenium,编写程序运行时却报错:ModuleNotFoundError:Nomodulenamed‘selenium‘,如下图所示的情况:错误来的猝不及防,检查了好几遍发现是真的有成功安装selenium库了,在命令行中也可以正常是使用,怎么到pycharm来运行程序就报错了,思来想去才想到检查一下我这个项目在用的python解释器对不对,这时我便怀疑可能原因就是我的python解释器的路径选择不对,这时可以打开【文件】中的【设置】,点击【项目:pythonProject】中的【Python解释器】,如下图所示,原先的解释
前言在使用selenium处理浏览器功能时,无法正常检测到或无法定位到你想处理的功能。而浏览器的启动参数可以帮我们实现很多功能。点击查看——Chrome浏览器启动命令行参数大全功能详情代码如下(示例):#-*-coding:UTF8-*-importjsonfromseleniumimportwebdriver#设置打印机的纸张大小、打印类型、保存路径等chrome_options=webdriver.ChromeOptions()settings={"recentDestinations":[{"id":"SaveasPDF","origin":"local","account":""}],
Selenium+webdrivermanager遇到“ConnectionResetError:[WinError10054]远程主机强迫关闭了一个现有的连接”异常的解决方法今天使用selenium工具测试目标网页时,平时可以正常使用的代码突然报错:ConnectionResetError:[WinError10054]远程主机强迫关闭了一个现有的连接。代码如下:importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.common.keysimpor
前言为解决从Selenium中获取Network接口数据,潜心研究了一小会儿,遂有此文基本看这篇文章的,多多少少都跟spider沾亲带故。所以直接进入正题。只想要代码,文章前边自取想看长篇大论,先看这篇【Selenium】控制当前已经打开的chrome浏览器窗口(高级版)应用场景Chrome浏览器->开发者工具->Network中所有的数据包,我要全部拿下来。举个例子🌰网站通过XHR异步加载数据,然后再渲染到网页上。而通过Selenium去获取渲染后的数据,是同HTML打交道的异步加载返回数据是json文件的,有时渲染在网页上,不一定是完整的json文件中的数据;最重要的是,json文件解析起
前言为解决从Selenium中获取Network接口数据,潜心研究了一小会儿,遂有此文基本看这篇文章的,多多少少都跟spider沾亲带故。所以直接进入正题。只想要代码,文章前边自取想看长篇大论,先看这篇【Selenium】控制当前已经打开的chrome浏览器窗口(高级版)应用场景Chrome浏览器->开发者工具->Network中所有的数据包,我要全部拿下来。举个例子🌰网站通过XHR异步加载数据,然后再渲染到网页上。而通过Selenium去获取渲染后的数据,是同HTML打交道的异步加载返回数据是json文件的,有时渲染在网页上,不一定是完整的json文件中的数据;最重要的是,json文件解析起