• [低码] 查找成绩脚本代码
    想实现用前端页面输入姓名,选择学院和课程的方式查找成绩的脚本,请问我的代码能实现吗
  • [低码] 咨询脚本语言编写,修改密码的脚本
    帮我看下前面的代码,后面想写个if else的语句和密码加密不会卡住了
  • [技术干货] XPath概述
    什么是XPATHXPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。它使用路径表达式在XML文档(字符串)中选取节点,节点是通过沿着路径来选取的。路径由节点名组成,节点之间以"/"分割。XPATH 能做什么XPath 是一种在 XML 文档中查找信息的语言,它可以用来在 XML 文档中对元素和属性进行导航。<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>例如上面这个XML文件,通过XPath可以获取它的每一个元素的值。XPath 的主要用途包括:定位 XML 文档中的元素和属性:XPath 提供了丰富的语法和函数,可以用来定位 XML 文档中的元素和属性,无论它们在文档中的位置如何。提取 XML 文档中的数据:XPath 可以用来提取 XML 文档中的数据,并将其转换为其他格式,例如将 XML 数据转换为 HTML、JSON 或 CSV 格式。查询 XML 文档:XPath 是一种强大的查询语言,可以用来查询 XML 文档中的数据。用户可以使用 XPath 表达式来检索特定的元素、属性和值,并对结果进行排序、分组和过滤。自动化处理 XML 文档:XPath 可以与其他编程语言和技术(例如 XSLT、XQuery 和 XML Schema)结合使用,实现自动化处理 XML 文档的功能。例如,可以使用 XPath 和 XSLT 将 XML 文档转换为其他格式,或使用 XPath 和 XQuery 在 XML 文档中执行复杂的查询和操作。总之,XPath 是一种功能强大的语言,可以帮助用户快速、准确地处理 XML 文档中的数据。XPATH 的语法XPath 的基本语法包括以下部分:路径选择:可以使用 "//" 表示选择元素不受位置限制,使用 "/" 表示选择节点,使用 "." 表示选择当前节点,使用 ".." 表示选择当前节点的父节点。还可以使用轴(axis)来选择特定类型的节点,例如 "child::" 选择子节点,"descendant::" 选择后代节点,"attribute::" 选择属性节点等。轴函数:可以使用轴函数来选择特定类型的节点,例如 "local-name()" 返回节点名称, "namespace-uri()" 返回节点命名空间URI, "position()" 返回节点位置等。谓词选择:可以使用谓词来过滤节点,例如 "[1]" 表示选择第一个元素,"[@id='abc']" 表示选择属性名为 id 且值为 'abc' 的元素等。运算符:可以使用运算符来比较节点值,例如 "=" 表示等于,"!=" 表示不等于,"%" 表示模运算等。函数调用:可以使用函数来操作节点,例如 "count()" 计算节点数量,"string()" 获取节点文本等。
  • [问题求助] 求教大神 调用哪个模块 可以让机器人按照我提供的excel 表格数据 自己在网页页面上点击我所需要的信息?
    求教大神  调用哪个模块 可以让机器人按照我提供的excel 表格数据 自己在网页页面上点击我所需要的信息?背景:每周根据excel报修信息  需要在报修申请链接上点机柜位置   如何让机器人根据excel 的列表 自动点网页元素?
  • [问题求助] 在使用xpath定位时,遇到某个属性的文本中含有不间断空格nbsp;该如何解决,这个时候使用@name=文本,匹配不上
    //fieldset/legend[contains(text(),'申请信息')]/.. /table/tbody/tr/td/input[@name='是否曾 违反中国法律、被中国政府递解出境']//fieldset/legend[contains(text(),'申请信息')]/.. /table/tbody/tr/td/input[@name='是否曾 违反中国法律、被中国政府递解出境']//fieldset/legend[contains(text(),'申请信息')]/.. /table/tbody/tr/td/input[@name='是否曾&nbsp;违反中国法律、被中国政府递解出境']以上三种定位方式均试过,不成功其他属性定位可以不用说哦,我期望是通过@name这个属性来定位
  • [问题求助] 网页元素定位问题求助
    想使用Weautomate RPA尝试模仿一个“企业信息查询自动化”相关内容步骤描述:1、读取excel文件,获取需查询企业名称2、打开“天眼查”循环查询企业信息(for循环,循环长度为步骤1的数组长度)此步出现问题如下图所示,输入公司名称查询后,会存在多条结果,我想默认点击进入第一个WeAutomate RPA配置如下:问题描述:在倒数第二步点击网页元素,仅第一次循环可以成功进入下一界面,后续循环由于企业名称不同,指向的地址不同,所以直接拾取web元素无法进入详情页面此类情况应如何解决?
  • [问题求助] 关于 XPATH 引用变量的问题
    如下图,XPATH 是可以正常定位到元素的。但是通过引用全局变量,就无法定位到元素了,如下图请教,是哪里出错了?谢谢!
  • [技术干货] 执行js代码(executeScript)命令使用技巧
    Js中定位操作元素1.使用控制台定位1.右击需要定位的元素,选择Copy选项,再选择Copy JS path的子选项复制上元素定位路径。 2.切换到Console面板,粘贴上前面复制的信息,即可在第二行预览定位元素的情况。 3.这里使用的是CSS的定位方式,如果觉得控制台生成的定位路径不好用,那么可以修改上图中红色字体的定位信息 2.使用XPATH方式定位xpath的通常格式是:document.evaluate('......', document).iterateNext()其中的......表示的是xpath语句xpath语句可以右击操作元素,选择Copy选项,再选择Copy XPath的子选项复制上元素定位路径。 也可以手动书写相关xpath语句,不过最好在Elements面板中通过Ctrl+f组合键唤出搜索栏(下图中红色部分),然后写上自己的xpath语句进行验证,确保定位的元素是唯一的(下图中绿色部分)。使用场景1.执行点击动作先定位操作元素,再执行click方法上图中使用了JS path2.获取元素数量1.通过querySelectorAll方法获取元素数量......使用的是CSS语法return document.querySelectorAll(".......").length在Studio中获取js的返回值需要使用return关键词 2.通过evaluate方法获取元素数量......使用的是XPATH语法return document.evaluate('......', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE).snapshotLength同理在Studio中获取js的返回值需要使用return关键词3.获取元素文本先定位操作元素,再执行获取方法,相关的方法较多,可以逐一尝试// 方法1 document.querySelector("span#content").value // 方法2 document.querySelector("span#content").innerHTML // 方法3 document.querySelector("span#content").innerText // 方法4 document.querySelector("span#content").textContent // 方法5 document.querySelector("span#content").nodeValue对于一个元素,不一定每种方法都可以获取到文本值,选择一个可用的就行 同理在Studio中获取js的返回值需要使用return关键词 更多使用场景欢迎在下面补充注意事项1.iframe框架的选取在拾取的时候,如果js操作的目标元素不在iframe中,那么可以拾取整个页面,但是如果目标元素位于某层iframe中,那么就需要具体拾取到那一层iframe元素上。
  • [技术干货] Web自动化xpath修改指导
    Web自动化xpath修改指导在Studio的Web自动化使用中,可以方便的通过拾取功能来定位相关元素,但是有时候拾取得到的定位信息并不够健壮,或者无法符合开发者的元素定位要求,这时候就需要开发者手动修改拾取到的定位信息了。建议先学习一下xpath的基础语法:https://www.runoob.com/xpath/xpath-syntax.html拾取信息解析:{ "appName": "chrome.exe", "title": "xxxxx", "target": [ {标签页定位信息}, {iframe1的定位信息} {iframe2的定位信息}, (如果操作元素位于iframe中就会有iframe定位信息,这里表示的是有二层的iframe定位信息) {操作元素的定位信息} ]}在定位信息中可能会同时包含xpath和css的值,程序会优先使用xpath的列表值一个个去查找,如果没有查找到,再使用css的列表值一个个查找,如果都没有查找到就会抛出错误。关于iframe的注意点:在有iframe的层级定位信息时,底层的操作元素定位信息是基于上层iframe开始定位的,而不是基于网页最外层的HTML元素。通常要修改的是操作元素的定位信息中的xpath值,注意不要错误修改了上层iframe的xpath值。xpath使用技巧:1、选择id为test的div//div[@id='test']2、选择id不为test的div//div[@id!='test']3、选择id为test的div下子节点中的第一个span元素//div[@id='test']/span[1]4、选择id为test的div下子节点中的最后一个span元素//div[@id='test']/span[last()]5、选择没有id属性的div//div[not(@id)]6、选择没有属性的div//div[not(@*)]7、选择class的值为"test"的div元素,因为class值前后有空格(甚至有回车),不方便复制,而且影响粘贴出来的效果,所以可以用normalize-space方法处理前后空格//div[normalize-space(@class)='test']8、选择div元素,该div元素的子节点中包含span元素的数量为2//div[count(span)=2]9、选择div元素,该div元素的子节点中元素的数量为2//div[count()=2]10、选择所有class属性值以test开头的div元素//div[starts-with(@class,'test')]11、选择所有class属性值中包含test的div元素//div[contains(@class,'test')]12、选择class属性值的长度超过10的div元素(同理可以切换为等于、小于)//div[string-length(@class)>10]13、选择文本为test的div元素,HTML代码样式://div[text()='test']14、选择多个判断条件都成立的元素(同理也有支持任意条件成立的or,实际使用较少),比如class属性为test,并且type属性为checkbox的input元素//input[@class='test' and @type='checkbox']15、选择div元素子节点中前5个span元素里面class属性为test的元素(第5个span元素的position()返回为5)//div/span[position()<6 and @class='test']16、轴操作/和//只支持向下查询子节点,如果想同级节点查询、反向查询父辈节点,那么就需要使用轴操作的语法实现了名称效果self选择当前节点child选取当前节点的所有子元素parent选取当前节点的父节点ancestor选取当前节点的所有先辈(父、祖父等)ancestor-or-self选取当前节点的所有先辈(父、祖父等)以及当前节点本身descendant选取当前节点的所有后代元素(子、孙等)descendant-or-self选取当前节点的所有后代元素(子、孙等)以及当前节点本身following选取文档中当前节点的结束标签之后的所有节点following-sibling选取当前节点之后的所有兄弟节点preceding选取文档中当前节点的开始标签之前的所有节点preceding-sibling选取当前节点之前的所有同级节点基于轴的操作语法如下://A/axes-name::BA:当前节点的元素名称axes-name:上表中相关轴名称B:对轴操作后的元素筛选的名称,无筛选可以填写*self、child、parent有等效语法,实际使用较少,推荐使用等效语法轴操作等效语法/div/self::*/div/div/child::span/div/span/div/parent::*/div/..17、引用变量替换开发者想按照文本值点击div元素,而具体的文本值是在脚本运行中查询或者计算出来的,假设文本值的引用变量名称为element_text,那么在xpath语法中可以如下方式操作://div[text()='@{element_text}'](字符串的文本值需要用引号括起来,其实将引用变量的值等效替换到xpath语句中,只要符合xpath语法就可以了)如果你有更多的xpath使用技巧,欢迎在下面发言补充!