起因

白天答应了网友要来做这件事,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


↙↙↙阅读原文可查看相关链接,并与作者交流