wqrfnium 作为自主研发的可以几乎彻底解决selenium因前端变动找不到元素的工具,之前0.1.x时代只有excel表来存储需要自动维护的页面元素。
现在更新到0.2.x后,新增了可以通过接口请求来获取元素和更新元素的功能。这意味着你可以把元素放到某个服务器/平台/数据库 等任何地方。前提是你要写俩个接口用来获取和更新元素。
引入的时候有俩种方式可选:
wqrfnium.wqrfnium 是传统用excel表存储方式,使用详情见我置顶博客:
完美解决因前端ui频繁变动导致selenium定位失败的方法
第二种方式是api,即引入 wqrfnium.wqrfnium_api
使用方式如下:
# -*- coding:utf-8 -*-
from selenium import webdriver
from wqrfnium_api import *
get_api_url = "http://xxx.xxx.xxx/aaa/bbb/***/"
update_api_url = "http://xxx.xxx.xxx/aaa/ccc/***/"
begin_wqrf(get_api_url,update_api_url)
driver = webdriver.Chrome()
driver.get("http://www.baidu.com/")
time.sleep(2)
getelement(driver,"searchinput").send_keys('xiaozhu')
可以看下面具体例子
代码语言:javascript复制# -*- coding:utf-8 -*-
from selenium import webdriver
from wqrfnium_api import *
get_api_url = "http://xxx.xxx.xxx/aaa/bbb/***/"
update_api_url = "http://xxx.xxx.xxx/aaa/ccc/***/"
begin_wqrf(get_api_url,update_api_url)
driver = webdriver.Chrome()
driver.get("http://www.baidu.com/")
time.sleep(2)
getelement(driver,"searchinput").send_keys('xiaozhu')
需要您自行填入获取元素/更新元素的url
然后调用begin_wqrf() 方法加俩个url作为参数来传递给wqrfnium
此设置只需您第一次使用时传入即可,wqrfnium会把其写入配置文件,以后若要更新则再写上即可
url等规则如下:
获取元素的api:
1.url 中必须有***来占位,这个***就是后来会替换成元素的icon
2.必为get
3.返回值根路径必须含有元素的五种属性即:{“icon”:"",“tmp_find_method”:"",“tmp_find_value”:"",“index”:"",“html_element”:"",}
更新元素的api:
1.url 中必须有***来占位,这个***就是后来会替换成元素的icon
2.必为post
3.请求体根路径必须含有元素的五种属性即:{“tmp_find_method”:"",“tmp_find_value”:"",“index”:"",“html_element”:"",}
以上接口中的字段意思和原理可参考文章:
完美解决因前端ui频繁变动导致selenium定位失败的方法
项目git地址:wqrfnium*github
工具pypi主页:wqrfnium主页
好了小编会持续为您继续关注wqrfnium的!