python修改第三方库重写_对Python第三方库,再次封装

python修改第三方库重写_对Python第三方库,再次封装一、为何再次封装?Python一大优势是有丰富的第三方包。可以站在牛人的肩膀上,让编程更简单,功能实现更快,也更完善。但有包还不够,因为包是通用的,普遍的。包含基本功能,或为了普遍性,而给了很多选项。用起来不顺手,或不够简洁。为了更进一步提高效率,就要再次封装。就是依据具体需求,将包重新写,做个性化处理。让工具更顺手,更方便。二、举例比如在U2中,有多种方法查找元素。通过text,describt…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、为何再次封装?

Python一大优势是有丰富的第三方包。可以站在牛人的肩膀上,让编程更简单,功能实现更快,也更完善。但有包还不够,因为包是通用的,普遍的。包含基本功能,或为了普遍性,而给了很多选项。用起来不顺手,或不够简洁。为了更进一步提高效率,就要再次封装。就是依据具体需求,将包重新写,做个性化处理。让工具更顺手,更方便。

二、举例

比如在U2中,有多种方法查找元素。通过text,describtion, id。在实际使用时,如果不封装,就需要写很多重复的代码。比如最多的用文本(text)定位和点击。就得写,d(text=’开始’).click(),经过封装就可以这样写,u.click_(‘开始’)。如果再复杂的,用匹配定位,不封装就更复杂了。而封装后就可以写,u.click_(‘看视频’,contains=True)。具体贴一下我封装的查找方法。ef3a47118f0816e10815259ff9bb2538.png

说明:

1、使用了装饰器。

因为自动化工具,在查找不到元素时,往往采用报错的方式来提醒。在实际应用时,每次都写try,来捕捉异常,就有很多重复代码。而装饰器可以很方便,套一个捕捉异常,来减少代码。

2、使用by_which来判定是用什么来定位,timeout确定等待时间,contains确定是否用包含文字来定位。有默认值,可以有效减少代码。

3、优化text。

在手机里有两种文本,一种是text,一种是describtion。刚开始我是分开处理的,后面才想到直接用代码来处理,而不用管是哪种文本。

4、其他针对元素的操作都是基于find这个方法,可以有效减少代码。比如click_。5bc7d5b28ec1625cca6fdf489d9b178d.png

好了。因为基本完成了代码,只是盯着看哪里有错,做优化,比较闲。所以有空做这个。我会在评论区贴分享的地址。需要请自取。

再次强调:1、代码还不完善,会有错误。2、适合懂python的朋友。3、脚本使用有限制,可去网上寻找其他auto.js的脚本。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182200.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • robots.txt_Robots.txt:互联网幕后的一瞥「建议收藏」

    robots.txt_Robots.txt:互联网幕后的一瞥「建议收藏」robots.txtHere’sanexercise:openanewtabandtypeintheURLofyourfavoritewebsite.Add/robots.txttotheendandhitenter.这是一个练习:打开一个新选项卡,然后输入您喜欢的网站的URL。将/robots.txt添加到末尾,然后按Enter。There’…

    2022年5月20日
    42
  • gravity与layout_gravity的区别

    gravity与layout_gravity的区别gravity与layout_gravity的区别

    2022年7月15日
    15
  • javascript高级程序设计第四版pdf百度网盘_js高级程序设计第四版 pdf下载

    javascript高级程序设计第四版pdf百度网盘_js高级程序设计第四版 pdf下载需要的请私信.涉及版权无法直接上传

    2022年8月20日
    8
  • chrome浏览器多开_双开软件默认打开软件更改

    chrome浏览器多开_双开软件默认打开软件更改#include<windows.h>#include<stdio.h>intmain(intargc,char*argv[]){//初始化临界区全局原子变量HANDLEMutexHandle=CreateMutex(NULL,FALSE,TEXT(“AAA”));//创建互斥体.信号量为0.有信号的状态.wait可以等待DWORDErrorCode=0;ErrorCode=GetLastError

    2022年10月5日
    2
  • rpa文件解包_py封装exe

    rpa文件解包_py封装exe用cxfreeze打包py文件为exe文件全过程:必须全部看完,正确在后面注意:当前环境是Play_Craw,pipinstallcx-freeze时自然安装到了C:\Users\xiaosalang\Anaconda3\envs\Play_Craw\Scripts处检验是否安装成功:cxfreeze-h将路径切换到.py文件处:如桌面文件cx1.py内容是:whil…

    2022年4月19日
    44
  • 高手入门STM32总结+学习步骤

    高手入门STM32总结+学习步骤一、入门总结1.1为什么要把时间花在“犹豫”上?每当我们在入门之前(ARM是这样,DSP也一样),总会有很多疑问,会有很多顾虑。我们渴望知道学习STM32前景如何?需要啥基础?难不难?适不适合我?但是什么时候能心潮澎湃地、相当着急地开始学STM32?日子在一天一天过去!你开始行动了吗?没有行动的思索,永远都不可能入门!把这些时间用来看书吧,效果能好一万倍。大家可能是从51单片机过来的,回想一…

    2025年9月7日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号