Selenium杂记
文章平均质量分 77
记录Selenium的一些小细节,有的是工作中遇到的,有的是他人反馈的
wuxianfeng023
在ZTE做过7年+测试工程师,测试经理;在某电力公司做过质量主管,产品经理;后在教育机构待过2-3年。现在尝试创作,分享,共同进步。
展开
-
谈谈Selenium中的三种切换之alert
识别方法:alert中的确定、取消、输入框无法用inspector定位到,当然还有一些特例。alert分为三种分别对应3个js的命令(可在chrome的console面板中调试)原创 2023-12-16 13:45:00 · 1088 阅读 · 0 评论 -
selenium中can not connect to the service chromedriver问题的处理
猜猜:代码自动调起chromedriver,并作为webserver访问其api,这个地址可能是127.0.0.1?其实你是可以在浏览器中访问http://127.0.0.1:9515/的,当然这个get并不会返回太多有用的信息,只能说可以看到。搜索代码发现,报错信息在selenium\webdriver\common\service.py,105行。一看这个错误没见到过,驱动应该是有的,版本也应该对的,无法连接到chromedriver。答案呼之欲出,上面的代码默认值就是localhost。原创 2023-12-14 22:23:43 · 1102 阅读 · 0 评论 -
梳理selenium的鼠标方法
你需要有一定的selenium基础。原创 2023-12-14 22:22:08 · 451 阅读 · 0 评论 -
Selenium中对于颜色的处理及拓展
上面的方法无疑是非常牛的,对正则比较熟悉的话可以借鉴,但我写不出来这样的正则我们可以用非常简单的方法来做(适配性不会那么好)无非就是对一个字符串’rgba(78, 110, 242, 1)'中的数字进行转换#4e6ef2 ,不考虑alpha的话由于有形式是rgb的,归纳为第一个(左括号后面的3个数字字符,拿到后转换下即可。demoprint(color.index('(')) # 左括号的indexprint(color.index(')')) # 右括号的index。原创 2023-12-14 22:13:21 · 1037 阅读 · 0 评论 -
Selenium中的option用法实例
在上一篇文章中我们用到了option,而option的用法是很多的,本文举几个例子关于无头浏览器,也属于option的一种,但我们单独开个篇幅讲一下看完你会发现多数是参数形式的,那chrome作为这么一个大的工具,参数应该是非常之多的,网上有个文章,可以借鉴,但未必都能支持。原创 2023-12-14 22:11:40 · 531 阅读 · 0 评论 -
Selenium中免登录的实现方法一option
option的用法很多,后面会单独开个文章来讲述firefox用的是profile文件,操作方法不尽相同,此处不赘述,有兴趣的同学可以自己了解下mac环境下有遇到过失效的情况,没有环境不好分析为何强调下前提的重要性准备工作很重要你要保证你手工打开网站是已登录的情况(如果你退出,用户资料里面就没有了)你应该退出浏览器进程,不然会占用数据。原创 2023-12-14 22:10:24 · 450 阅读 · 0 评论 -
selenium无法click的一个案例分享
下面的写法你要对显式等待比较了解方可try:return driver.find_element('link text','登記會員')except :当然我在这里也没有过度封装,find_huiyuan可以再做好一点,这个就留给大家了。原创 2023-12-11 06:19:38 · 401 阅读 · 0 评论 -
基于webdriver协议用requests模仿selenium
你在做下面的练习之前应该具备安装好chrome,并通过chrome://version确认其版本号安装chromedriver并与你的chrome版本相匹配,下载路径如下你应该有一个python+ide(如pycharm)的环境,反正下面的示例是用这些来完成的。下好requests库,对语法不再阐述。原创 2023-12-10 09:42:20 · 995 阅读 · 0 评论 -
Selenium Webdriver驱动自管理
在selenium自动化中,驱动和浏览器有一定的对应关系,以最常见的chrome和firefox为例。chrome要求比较严格。去驱动下载站:https://registry.npmmirror.com/binary.html?path=chromedriver/ (如下图),你可能找不到完全匹配上的版本,你只能103.0.5060.三个中找一个接近的试试(一般应该选择134)。这个给自动下载带来了麻烦。原创 2023-12-10 09:17:19 · 1001 阅读 · 0 评论 -
selenium结合tenacity的retry实现验证码失败重试
官网还有很多的例子,相对高级一些,如有兴趣可以自行前往或者搜索之。重试等待间隔可以设定一个区间(最大最小值)引发 TryAgain 异常随时显式重试。重试的条件一:引发特定或一般异常的重试。上面的demo中就用到了这个。当然上面的仍然是个无限重试。之前的重试是无缝衔接的。你可以让重试之间有延迟。你可以组合前面的停止。原创 2023-12-09 07:00:00 · 1166 阅读 · 0 评论 -
What?JMeter做UI自动化!
不推荐,但可行。原创 2023-12-08 16:55:47 · 960 阅读 · 0 评论 -
谈谈selenium中的clear后输入内容异常的处理
方法其实很多,你要思考的是如何模拟这个操作上面的未必能解决你的问题,你需要根据实际情况去探索。原创 2023-12-07 11:20:18 · 1048 阅读 · 0 评论 -
ddddocr1.4.8失效的解决方法
url敏感,匿了,意思大概知道就是处理下面的这个图片中的验证码以前运行的好好的,但现在报错了。原创 2023-12-07 06:05:49 · 509 阅读 · 0 评论 -
selenium-wire兼容selenium和requests
在工作中UI自动化中可能会需要用到API来做一些数据准备或清理的事情,那UI操作是略低效的,但API操作相对高效。而实战课就有这样一个案例,不过那个案例是UI操作和API分开的。极少会遇到这样的场景,我selenium操作网页,比如登录,应该底层也是有响应数据的,比如token之类的,那我是否可以通过UI操作获取到的token直接去发送后续的业务请求,而不是再在API层从头来一把(也是可以的)。原创 2023-12-06 13:19:39 · 728 阅读 · 5 评论 -
Selenium4.0 思维导图
原创 2023-12-06 06:16:23 · 356 阅读 · 1 评论 -
selenium库浅析,基于4.3
基于4.3安装好后,在sitepackages下2个主要的目录,common和webdriver。原创 2023-12-07 06:06:38 · 935 阅读 · 0 评论 -
谈谈selenium4.0中的相对定位
这东西我在工作中没有用过,因为它出生后我就进入了…使用过一些常见去测试它的效果,并不理想,不过是在早期的版本中做的,现在不清楚是否好用一些溯源的话应该可以追溯到js中吧,有空找下,或者哪个大佬知道的可以指点下。原创 2023-12-06 07:30:48 · 931 阅读 · 1 评论 -
谈谈selenium中的cookie操作
从效果上看,如果是登录更推荐用options结合user-data去绕过,cookies多少有点勉强。原创 2023-12-07 06:04:44 · 421 阅读 · 0 评论 -
Chromedriver最新驱动下载,解决selenium版本不匹配问题
新的下载位置:https://googlechromelabs.github.io/chrome-for-testing/老的位置(特别是国内镜像)暂无最新驱动版本。有同学说,可以禁用chrome更新,其实不太建议。另外一个坑是,webdriver-manager 这个selenium官网推荐的驱动自管理工具库webdriver-manager3.8.6 也失效的,地址也不匹配了。提示如下。更新到webdriver-manager最新版本就ok了。原创 2023-12-05 09:53:38 · 1697 阅读 · 2 评论 -
Selenium4.6版本浏览器自动退出问题
对比之前好的环境,发现差异主要是浏览器、驱动和selenium,把浏览器和驱动都同步到最新版本,环境依然是好的,那差异只有selenium版本(有问题的是selenium 4.6.1,好的版本是selenium4.3.0)感觉是selenium4.6配合chromedriver驱动出现的问题,firefox在selenium4.6的时候没有该问题。但以前是ok的,现在这么麻烦,对初学者并不友好。差异日志: 对比正常的环境有2行比较异常。代码的控制台并无任何报错。再次运行代码,也OK了。原创 2023-12-05 11:41:18 · 1146 阅读 · 0 评论 -
selenium执行报错result.webdriverValue.value的处理过程
端口我匿了这个代码是没有问题的,任意其他代码在当前的环境下都是会出现这个错误的。原创 2023-12-05 19:22:28 · 577 阅读 · 0 评论