热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

源码autojs,源码编辑器手机版下载

本文目录一览:1、手机autojs怎样host跳过活着屏蔽广告源码

本文目录一览:


  • 1、手机autojs 怎样host跳过活着屏蔽广告源码


  • 2、Autojs微信运动自动点赞免root脚本源码


  • 3、auto.js如何解析html

手机autojs 怎样host跳过活着屏蔽广告源码

1、打开手机autojs浏览器,找到设置。

2、在设置中选择host插件,点击下载后安装。

3、安装打开后选择屏蔽广告源码设置即可。以上就是手机autojs怎样host跳过活着屏蔽广告源码的步骤。

Autojs微信运动自动点赞免root脚本源码

热爱社交的张三每天无时无刻不在关注好友的动态就连微信运动也不例外,在夜深人静的晚上张三打开手机看着微信推送给他的运动排行榜,小手毫不犹豫的为每一位微信好友点赞,但热爱社交的张三好友实在太多才点了七八个赞就感到枯燥无聊,于是心想如果要是有一个自动点赞的脚本该多好!

初学Autojs实在不知道能写啥有用的脚本。

简单讲就是无需root就可执行脚本实现手机自动化操作。

打开Autojs查看布局获取点赞框架信息,我们可以看到点赞空间点击属性位False这时我们可以找他的父亲框架进行查看直到点击属性位true。

通过text("赞我的朋友")查找当前页面如果找到就进行返回如果没找到继续点赞。

通过scrollDown()函数实现。

不到20秒就点完了一页,张三直接狂喜!

auto.js如何解析html

URL:

编写思路(入门级别)

1、打开谷歌浏览器

2、打开博客园登录网页地址

3、在用户名输入框内输入用户名

4、在密码输入框内输入密码

5、点击登录

6、检测是否跳转到了登录成功的页面

脚本如下图:

4feb5d799ae52eea8c1b063cc8c60f85.png

现在我们来分解下输入用户名这个动作

1、首先找到用户名输入框

2、在输入框中输入用户名

【找到用户名输入框】实现此步骤的前提就是需要掌握控件的定位。具体在脚本中实现也就是图中的第11行:

('//*[@autocomplete="username"]')

WEB控件定位所做的事情,就是通过特定的方式找到我们需要操作的页面控件

那么如何才能学会这个控件定位呢?第一步就是简单了解下前端的语言。和我一起往下看即可轻松学会。

二、WEB网页文本—HTML5

要想掌握WEB自动化测试的控件定位,我们首选要了解控件是什么。

控件就是浏览器展示的前端语言生成对象。

web前端的基础语言就是HTML5

依旧是老套路,拿博客园举例:

5faa8b60ca05f50f4c0d6430574214fd.png

用户打开浏览器,看到的用户名输入框、密码输入框、登陆按钮、立即注册等等所有,都是浏览器展示的HTML5语言的对象。

我们按下F12键即可打开浏览器的调试模式,来查看网页的HTML5源代码。

如下图:

按下F12后右边页面中Elements选项对应的就是网页的html5代码

第一次接触肯定觉得非常晦涩难懂、云里雾里。但是相信我,万事开头难!你在看我自动化测试思维的文章以前不也是觉得自动化测试非常高大上吗?

不了解什么是自动化测试思维?戳下方5分钟即可学会☟☟☟

【自动化测试入门】自动化测试思维

00a821b679ab09e913981cf6a655f861.png

HTML5一个控件的写法一般是2个尖括号成对出现。

一、第一个尖括号的第一个单次为控件类型,之后是控件属性。

二、第二个尖括号表示此控件的尾部。

三、2个尖括号中间为控件在前端显示的文字部分。

举例说明的话。控件类型是狗的类型(中华田园犬、哈巴狗、牧羊犬等),控件属性就是这条狗的名字、性别、体重、毛发颜色等。2个尖括号中间的文字,就是你想在此页面上展示的这个狗的'名字'。

还是拿博客园的登陆界面举例来说:

点击'小箭头'定位控件,或者在控件处右键选中'检查元素',即可定位到指定的控件

7b1de1397c71dcde07d8d9da72e61ab5.png 控件的源码为:

input _ngcontent-miv-c141=""matinput=""formcOntrolname="username"placeholder="登录用户名 / 邮箱"autocomplete="username" id="mat-input-0" aria-describedby="mat-error-0" aria-invalid="true" aria-required="false"

input就是控件类型

input以外的就都是控件属性

这个输入框的控件属性有:

_ngcontent-miv-c141=""

matinput=""

formcOntrolname="username"

placeholder="登录用户名 / 邮箱"

autocomplete="username"

id="mat-input-0"

aria-describedby="mat-error-0"

aria-invalid="true"

aria-required="false"

三、基于控件的唯一控件属性定位

了解了什么是控件,现在我们在上手控件的定位。

selenium有八种定位控件的方式,有6种都是基于HTML5原生控件的单一控件属性来定位的。

id定位:

find_element_by_id()

name定位:

find_element_by_name()

class定位:

find_element_by_class_name()

tag定位:

find_element_by_tag_name()

link定位:

find_element_by_link_text()

partial_link定位:

find_element_by_partial_link_text()

以下两种为特定的2种控件定位方法,下一篇文章再做详解。 xpath定位:find_element_by_xpath() CSS定位:find_element_by_css_selector()

下面我将举例来讲解这6种基于单一控件属性的定位方法。

还是拿博客园的登陆界面举例来说:

833005656b1e6d0fa4a7e2cc58d875a5.png

登陆用户名的输入框的HTML5源码为:

input _ngcontent-miv-c141=""matinput=""formcOntrolname="username"placeholder="登录用户名 / 邮箱"autocomplete="username" id="mat-input-0" aria-describedby="mat-error-0" aria-invalid="true" aria-required="false"

这个输入框的控件属性有:

_ngcontent-miv-c141=""

matinput=""

formcOntrolname="username"

placeholder="登录用户名 / 邮箱"

autocomplete="username"

id="mat-input-0"

aria-describedby="mat-error-0"

aria-invalid="true"

aria-required="false"

对应的定位方法:

id属性来定位此控件

写法为:

find_element_by_id(mat-input-0)

name属性来定位此控件

此控件前端开发没有定义name属性,则无法使用此定位方法

tag属性来定位此控件(控件的类型)

写法为:

find_element_by_tag_name('input')

class属性来定位此控件

写法为:

find_element_by_class_name(mat-input-0)

另外两种定位是针对link属性的控件,也就是链接控件。如下图:

依旧是老老路。使用博客园登陆页举例:

【立即注册】就是页面中的一个link控件,其作用就是跳转到注册页面。

fe0c7b4e9f770591aeaa13a7a9e5ec43.png

_ngcontent-arq-c141="" href="/signup?returnUrl=https:%2F%2F"立即注册

他的控件属性有

link定位(通过link控件的文本值)

find_element_by_link_text('立即注册')

但是部分页面会存在,link的文本值非常长,所以就发明了partial_link定位。

如下图中的百度文库的某一页面:

5ddb0ca6201cd203245824c06c9e7932.png link的文本值为:全国2018年10月04741计算机网络原理真题以及答案解析

定位的脚本就可以写成:(只取文本的某一段值即可)

find_element_by_link_text('04741计算机网络')

但是这样的定位方式存在一个致命且常见的问题:

随着前端的技术不断的发展,页面的复杂度越来越高。一个页面的控件越来越多(tag不唯一),id、name、class_name可能有很多重名或者完全是动态的一串字母(id、name、class_name、link_name可能都不唯一),我们基于唯一控件属性定位的在特别复杂的项目上可能完全无法完成UI自动化测试的定位工作。


推荐阅读
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • 微信小程序导航跟随的实现方法
    本文介绍了在微信小程序中实现导航跟随的方法。通过设置导航的position属性和绑定滚动事件,可以实现页面向下滚动到导航位置时,导航固定在页面最上方;页面向上滚动到导航位置时,导航恢复到原始位置;点击导航可以平滑跳转到相应位置。代码示例也给出了具体实现方法。 ... [详细]
  • Tkinter Frame容器grid布局并使用Scrollbar滚动原理
    本文介绍了如何使用Tkinter实现Frame容器的grid布局,并通过Scrollbar实现滚动效果。通过将Canvas作为父容器,使用滚动Canvas来滚动Frame,实现了在Frame中添加多个按钮,并通过Scrollbar进行滚动。同时,还介绍了更新Frame大小和绑定滚动按钮的方法,以及配置Scrollbar的相关参数。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • C#多线程解决界面卡死问题的完美解决方案
    当界面需要在程序运行中不断更新数据时,使用多线程可以解决界面卡死的问题。一个主线程创建界面,使用一个子线程执行程序并更新主界面,可以避免卡死现象。本文分享了一个例子,供大家参考。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • mui框架offcanvas侧滑超出部分隐藏无法滚动如何解决
    web前端|js教程off-canvas,部分,超出web前端-js教程mui框架中off-canvas侧滑的一个缺点就是无法出现滚动条,因为它主要用途是设置类似于qq界面的那种格 ... [详细]
author-avatar
到处旅游增加阅历入
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有