Selenium airtest-selenium 和 selenium 选型

陈子昂 · 2020年03月05日 · 最后由 恒温 回复于 2020年03月09日 · 3253 次阅读

起因

白天答应了网友要来做这件事,selenium 和 airtest 能不能结合使用。
最初版本的 airtest 我认为把大部分模块都看了,当时建议是 2 个可以混用,selenium 为主,airtest 只负责图像识别的。
晚上看了会发现 airtest 本身已经对 selenium 做了一层封装。有以下 2 个亮点
1.api 基本还原,airtest-selenium 的 WebDriver 是同一个。
2.核心 api 运行时会自动进行 log 记录(可以查看下 selenium-java 的监听模式)
3.图形识别:本来想法是 selenium 本身控件识别十分强大,配合浏览器的定位坐标 然后做一些偏移识别。
常说的,一些元素点不到,那么就找到当前页面一个容易识别判断的验证元素,在它附近就能找到,然后按像素移动就行。

结论

现在发现是完全可以替代 selenium,并且多了上面的亮点
看一个很 demo 的例子:

from selenium.webdriver import Chrome  #selenium库
from airtest_selenium.proxy import WebChrome  #airtest-selenium库
from time import sleep
dr = WebChrome()
dr.get("https://www.baidu.com/")
dr.maximize_window() #尺寸放到最大
print(dr.title) #打印title
sleep(3) #停在界面上
dr.quit()

可以跳转过去看下 Chrome 和 WebChrome 类对象的源码就会发现。

如何安装这个库
pip3 install airtest-selenium
只安装这个会抛错,库包裹了一个按键相关的
pip3 install pynput

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 3 条回复 时间 点赞

经过提醒,去看了下 airtest 官方文档及源码发现 Airtest-Selenium 是在 selenium 的基础上再进行了一次封装,使用方法基本一致,airtest 又加了一些自己的方法,后期可以尝试使用以下

我们这边都用过,基本差不多,目前一直尝试用 Airtest-Selenium,基本够用了

肯定可以啊。都是一套协议。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册