跳到主要内容

执行JS脚本

指令说明

在指定的网页执行JS脚本。可以接收参数并获取JS返回的参数。输入、输出参数会自动序列化、反序列化,支持Promise

如果需要在指定的iframe执行JS代码可以指定该iframe中的任意一个元素。

高级设置中可以指定JS最长执行时间,如果配置的执行时长 < 实际执行时长会导致报错

指令输入参数

输入参数输入参数类型说明
网页对象WebPage在该网页执行JS代码
网页元素WebElement 或 ElementDescriptor可选参数,在该元素所属的iframe中执行JS代码,可以选择捕获的网页元素也可以选择获取网页元素获取网页相似元素获取网页关联元素等指令获取到网页元素
输入参数Any传给网页JS方法的参数,会自动序列化、反序列化
JS代码str待执行的JS代码
最长执行时间floatJS代码需要在该时间内return,单位:秒

指令输出参数

输出参数输出参数类型说明
JS执行结果AnyJS方法return值,会自动序列化、反序列化

类型定义参考

JS代码模板

async function(htmlElement, param) {
//在此处编写您的Javascript代码
//htmlElement是输入参数中的 网页元素 对应的JS HTMLElement对象
//param是输入参数,Python对象会先序列化成JSON,然后再反序列化成JS的param参数
//返回值可以是对象,支持返回Promise
return null
}
提示

需要先安装曲辕RPA浏览器插件。

示例1

查询淘宝首页销量排行

js代码

async function (htmlElement, param) {
const goods = []
const elements = document.querySelectorAll(*.tb-pick-content-item*)
for (let element of elements) {
const name = element.querySelector('.info-wrapper').innerText
const price = parseInt(element.querySelector(".price-value").innerText)
const count = parseInt(element.querySelector(".month-sale").innerText)
goods.push({
name,
price,
count
})
}
return goods
}

示例2

图片-1元素所属的iframe执行js代码从而隐藏该元素

常见问题

参考 网页操作常见问题