东莞seo网站优化方式深圳网站快速备案

news/2025/9/27 0:06:40/文章来源:
东莞seo网站优化方式,深圳网站快速备案,本科自考有什么专业,装修设计公司网站排名关于类似的帖子好像很多#xff0c;但是没有找到具体能帮我解决问题的办法。还是自己深究了好久才基本知道app上面的xpath定位和web上的不同点#xff1a; 先放一个图#xff1a; A#xff0c;先说说不用xpath的场景#xff0c;一般是用于存在id或者name。可能没有看到na…关于类似的帖子好像很多但是没有找到具体能帮我解决问题的办法。还是自己深究了好久才基本知道app上面的xpath定位和web上的不同点 先放一个图 A先说说不用xpath的场景一般是用于存在id或者name。可能没有看到name,别慌继续看。 1app上面定位用的最多的当然是id也就是上面看到的resource-id,后面就是其所对应的值。所以在定位的时候可以是driver.find_element_by_id(com.wlqq:id/title_left_btn).当然注意一点就是如果id不是唯一的那么此办法行不通可考虑增加下标值[x]来区分如何加后面的xpath会提到但是如果很多的话可能自己都会数错。。。。。顺便说一下我也在用robotframeworkappiumLibrary这里的使用方式就是 click element | idcom.wlqq:id/title_left_btn。id应该就这样用了吧。 2当然第二种常用的办法就是name而这里的name和web也就是html里面的name不太一样web里面的name就是标签对应的属性name的值而这里其实是上面图里的text的值。当然也就是在使用的时候需要用by_name(账单)或者是 name账单。 B以上两点是常用的但是也是最简单的定位方式下面就回到正题说一声xpath了。用到xpath的场景主要为没有id或者没有name或者name是一个不可控的值或者叫会发生变化的值。另外不知道xpath是什么的就自行百度了吧。其实简单点就是按路径定位包括一级或者多级。顺便说一下其实路径分两种一种是绝对路径以第一个标签为参照物另一种是相对路径已其他已知的标签为参照物。 1先说说有id或者name的场景使用xpath的情况。有id或者name为什么不直接用当然可以像上面那样直接用。当然也可以装逼用xpath。不过当id不唯一也就是多个的时候这种能解决问题。 就比如上面的账单和我要的id都是com.wlqq:id/title_left_btn当前页面只有只有这两个id是这个那么你在用id定位账单的时候就需要写xpath//android.widget.TextView[resource-idcom.wlqq:id/title_left_btn])[1]  定位我要就是xpath//android.widget.TextView[resource-idcom.wlqq:id/title_left_btn])[2], 此处注意三点 a下标是从1开始而不是0; b如果有下标需要用括号把前面的部分括起来并且前面需要加xpath,可能有些人习惯了前面都加xpath但是像我这种只习惯写//开头不写xpath的就被坑惨了。。。反正不容易发现是因为没有写xpath,也可能是我个人比较坑吧。 c就是和web不一样的就是标签的取值在这里取的是class的值android.widget.TextView而不是看到的标签TextView具体原因没有深究。反正记住用class代替标签就对了。 当然是用name的情况也是一样的。无非就是//android.widget.TextView[text我要]另外注意下这里使用的text而用name或报错原因也没有深究过本人太low。。和上面的resource-id一样用xpath的时候就用本身显示的就好了。也好记。 另外上面的只是为了说明1个层级的时候xpath的用法xpath的书写规则基本是越少越好。所以层级也是越少越好。有1层可以唯一定位就不要2层。 可能有点废话了。 2卧槽终于可以进入重点了。就是没有id或者name的场景。   先来一张图  1 现在有一个场景就是我需要点击上面那个小人图标但是他没有id和text属性。能想到的办法就是下面要讲的xpath了。 a用绝对路径的写法就是如果图上的第一个是最顶上的话就是 //android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout[2]/android.widget.ImageButton 这种写法注意一下几点: 1), [2]注意是2而不是3因为与标签的值有关。只有2个LinearLayout。 2), 路径长度偏长而且因为只有class的值对于一些页面控件较多的可能不止一个也就是可能这种写法也都不是唯一。 3),绝对路径基本很少使用如果人品太差遇到页面全是没有id或者name的那就没办法了。或者考虑一些坐标。(关于坐标存在的换手机存在适配分辨率的问题在下也有研究对策。不知道你是否有兴趣看看) b现在就是本文的重点了使用相对路径的办法来定位。 1大家可以看到这个图里面有一个唯一的中文词汇--钱包。我们可以通过这个钱包来定位我们的小人图片。先分析下位置关系。 找找关系也就是如图所示小人图标3是钱包1的弟弟2LinearLayout标签的儿子ImageButton。儿子好理解xpath的层级关系也就是父子关系用/表示。//android.widget.LinearLayout/android.widget.ImageButton这样就能表示弟弟的儿子了。但是现在问题是怎么表示钱包的弟弟 xpath里面有一个轴简单点可以理解为一个函数吧。我这样认为的。preceding-sibling:: 可以找到节点前面也就是哥哥节点following-sibling::可以找到节点后面也就是弟弟节点关于轴的更多用法啊可以自行百度xpath的语法。这里还有一个用的多的就是parent:: 可以找到节点的父亲节点。但是父亲节点可以用..表示。下面就来具体说一下怎么用 基本知识已经介绍到此了。那么这里的定位方法就是上图中的3个层级//android.widget.TextView[text钱包]/following-sibling::android.widget.LinearLayout/android.widget.ImageButton。 第一级就同前面说的唯一的找到钱包这个位置后面的一级就是钱包的弟弟也就是following-sibling::android.widget.LinearLayout。当然注意因为是紧挨着的所以弟弟没有下班可想而知如果是第几个弟弟就加个下标吧。哥哥也是同理。 2前面用到了兄弟的关系下面说一下儿子与父亲的关系。父子关系还是用图来说明。 们的钱包1的父亲2有一个儿子3的儿子4就是我们的小人图标。这就是找关系。关系找到了那我们就可以用这个关系来写xpath了。也就是钱包//android.widget.TextView[text钱包]的父亲/parent::android.widget.RelativeLayout 的第二个classandroid.widget.LinearLayout的儿子/android.widget.LinearLayout[2]的儿子小人/android.widget.ImageButton,好我们连起来就是//android.widget.TextView[text钱包]/parent::android.widget.RelativeLayout/android.widget.LinearLayout[2]/android.widget.ImageButton。顺便说一下父亲这个位置可以用..来代替相比很多人都知道..在路径里面指的就是上级。所以可以用//android.widget.TextView[text钱包]/../android.widget.LinearLayout[2]/android.widget.ImageButton这个来代替上面的写法。最后再强调下  关于这个地方下标为什么是[2]是因为只与class相同的有关。钱包的class不一样。所以它就不算了。  3关于相对路径的父子关系已经兄弟关系相比大家应该有所体会了吧。如果还是没太懂咱们再来个复杂点的例子。可能只是举例说明下语法。实际下面的可能不会这样复杂的写。先上图 假设我们需要通过加入购物车这个位置来定位我们的立即定位按钮那么我们的一种写法就是图上的这个关系7层级。也就是加入购物车7(//android.widget.TextView[text加入购物车])的父亲1/..的父亲2/..的父亲3(/..)的第二个兄弟4/following-sibling::android.view.View[2]的儿子5(/android.view.View)的儿子6(也就是我们的立即购买/android.widget.TextView)连起来就是 //android.widget.TextView[text加入购物车]/../../../followingsibling::android.view.View[2]/android.view.View/android.widget.TextView。 注意使用text的时候避免使用输入框的默认输入值因为当你真实输入值之后就没有这个text了也就找不到路径了。另外也可以用模糊匹配xpath有一个contains函数。用法//android.widget.TextView[contains(text,购物车)].也能找到“加入购物车”这个位置。自行体会去吧。。。 最后不知道你是否有看懂欢迎各位朋友留言指正。在下也喜欢技术交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站开发是先做前段还是后台简单电子商务网站建设

大家好,我是专注家居和装修知识分享的家居杂坛。喜欢的就点击一下关注吧!对于在地面上所浇筑的混凝土,常规有两种做法。例如,在混凝土中铺设钢筋,打成钢筋混凝土的地面,又或者还有一些朋友在钢混凝土中放入…

php网站开发作业网站中高端建设

1、hibernate 要求实体类里面有一个属性作为唯一值&#xff0c;对应的表字段是主键&#xff0c;主键可以不同的生成策略 2、hibernate 主键生成策略有很多的值 <generator class"native"></generator> 3、在class属性里面有很多值 &#xff08;1&#xf…

docker复制文件到宿主机

要将 Nacos 容器内的文件复制到宿主机,可以使用 docker cp 命令,该命令支持在容器和宿主机之间复制文件或目录。以下是具体操作步骤: 一、基本语法 # 将容器内的文件/目录复制到宿主机 docker cp <容器名或容器I…

【SimpleFOC】SimpleFOC的运动规划器(Motion Planner)和梯形速度规划

SimpleFOC 在位置(角度)模式时,达到目标位置过程中,是默认开启平滑转动的效果的。 SimpleFOC 的平滑转动是通过运动规划器(Motion Planner)实现的,而不是瞬间跳到目标位置。 运动规划器的工作原理 1. 默认的梯形速…

南昌企业做网站产品单页营销型网站模板

指系统能按某种顺序如&#xff08;P1&#xff0c;P2&#xff0c;...&#xff0c;Pn&#xff09;&#xff0c;来为每个进程分配所需要的资源&#xff0c;直至最大需求&#xff0c;使每个进程都可以顺序完成。若系统不存在这样一个安全序列&#xff0c;则称系统处于不安全状态。

深圳入户申请网站官网永春网站设计

如果你准备发NLP方向的论文&#xff0c;或准备从事科研工作或已在企业中担任NLP算法岗的工作。那么我真诚的向大家推荐&#xff0c;贪心学院《自然语言处理高阶研修班》&#xff0c;目前全网上应该找不到类似体系化的课程。课程精选了四大主题进行深入的剖析讲解&#xff0c;四…

网站建设的线框图叫什么dw网页制作教程视频简单第三期

前言 小羊近期已经将C语言初阶学习内容与铁汁们分享完成&#xff0c;接下来小羊会继续追更C语言进阶相关知识&#xff0c;小伙伴们坐好板凳&#xff0c;拿起笔开始上课啦~ 一、数据类型的介绍 我们目前已经学了基本的内置类型&#xff1a; char //字符数据类型 short …

Day22多态详解

多态是面向对象的重要特性,在java中表现为父类引用指向子类对象 Father f1 = new Son(); 多态是方法的多态,与属性无关 父类与子类之间需要有联系,否则类型转换异常,即ClassCastException 多态的存在条件是两个类之…

rad/s RPM之间的换算

SimpleFOC中,经常用到如下代码motor.velocity_limit = 1.0; // 限制最大速度其中 ,velocity_limit单位为 rad/s, 其与 rpm换算关系是什么呢?// 速度单位换算参考: // 1 rad/s = 9.55 RPM // 2 rad/s ≈ 19 RPM //…

四川建设行业数据共享平台网站问题旅游网页设计论文5000字

接地作为一种应用最为广泛的电气安全措施&#xff0c;是指电力系统和电气装置的中性点、电气设备的外露导电部分和装置外导电部分经由导体与大地相连。接地的作用主要是防止人身遭受电击、设备和线路遭受损坏、预防火灾和防止雷击、防止静电损害和保障电力系统正常运行。按其功…

怎么在一起做网站上拿货湖南网站备案要多少天

1、互联网安全现状 随着网络世界的高速发展&#xff0c;各行业数字化转型也在如火如荼的进行。但由于TCP/IP网络底层的安全性缺陷&#xff0c;钓鱼网站、木马程序、DDoS攻击等层出不穷的恶意攻击和高危漏洞正随时入侵企业的网络&#xff0c;如何保障网络安全成为网络建设中的刚…

再见Playwright!谷歌官方Chrome DevTools MCP正式发布,AI编程效率再翻倍

在使用 AI 编程过程中,想让 AI 帮忙写一个前端页面,他哐哐哐写一大堆,结果一运行不是样式错乱,就是控制台报错。这个时候你把截图发给 AI,它道个歉,然后再给你生成一版错误的代码。 因为 AI它并不知道自己写的代…

网站怎样做优惠卷做美食下载什么网站

大家好我是苏麟 , 今天聊聊优先队列 . 优先队列 我们了解优先队列之前先说说队列 . 队列的特点是什么&#xff1f; 队列的特点是先进先出&#xff08;FIFO&#xff09;。 入队列&#xff0c;将新元素置于队尾&#xff1a; 出队列&#xff0c;队头元素最先被移出&#xff1a…

程序源代码下载网站wordpress 主题汉化包

LeetCode刷题 | Day 4 分割等和子集(Partition Equal Subset Sum)自底向上动态规划 文章目录 LeetCode刷题 | Day 4 分割等和子集(Partition Equal Subset Sum)自底向上动态规划前言一、题目概述二、解题方法2.1 一维表格的自底向上动态规划2.1.1 思路讲解2.1.2 伪代码 + 逐…

外贸网站高端定做中卫网站制作公司报价

从零设计四位栈处理器&#xff08;2&#xff09;——结构与指令集一句话概括&#xff1a; 在Toxic处理器中&#xff0c;万物皆栈。熟悉汇编语言的同学会了解&#xff0c;一般的汇编语言&#xff0c;会包含以下几个部分&#xff1a;寄存器地址立即数操作码在这期文章中&#xff…

Markdown 之——清单の语法

清单 您可以将项目组织成有序和无序列表。 有序列表 要创建有序列表,请在订单项中添加数字和句点。数字不必按数字顺序排列,但列表应以数字开头。Markdown HTML 渲染输出1. First item2. Second item3. Third item4.…

“计算理论之美”课程笔记一:概率

介绍:\(k-sat\) \(k-sat\) 问题:输入一系列条件,每个子句得到 恰好 \(k\)个子条件,对于每个条件,至少有一个子条件必须得到满足。每个子条件都要求你使一个特定的布尔值为真或为假。判断在 \(n\) 个布尔变量下,所…

“计算理论之美”课程笔记四:高维空间组合优化

高维空间的问题 高维空间点集直径 一维直径 在一位空间上的直径是很好求得的,因为我们只要找到所有点中的 \(\min\) 和 \(\max\),就可以 \(O(n)\) 的求得精确解。并且空间复杂度是 \(O(1)\) 的(我们只要存储历史最大…

git分支从dev迁移到maser

1:切换到master分支 2:执行到chery-pick -n (change id) 3:需要按照最早执行的顺序,从早到后执行,然后处理冲突

网站制作百度资源延安网站建设报价

关于OpenStack的争议,从未停止&#xff0c;每每关于它的消息&#xff0c;都会一石激起千层浪。今天就让我们看看关于OpenStack的问答吧。1Q : OpenStack服务介绍A : MySQL为各个服务器提供数据存储RabbitMq:为各个服务之间提供通信认证和服务注册Keystone&#xff1a;为各个服务…