想通过ts实现打开DY并点击头像进入个人信息页,按照官方文档写的,可是却不能达到预期效果。
已存档
代码如下,预期(打开DY,找到头像位置,点击头像进入个人中心)
实际运行(打开DY,日志输出是点击正常,但实际没有进入个人中心页)
日志正常,可以正常输出XY和按钮点击结果true
export class Oper {
public static begin() {
var isOk = app.launchPackage('com.ss.android.ugc.aweme');
if (!isOk) {
console.log("启动App失败");
}
//获取这个控件
var widget = id('user_avatar').findOne();
console.log("x:"+widget.bounds().centerX())
console.log("y:"+widget.bounds().centerY())
//获取其中心位置并点击
var isOk1 = click(widget.bounds().centerX(), widget.bounds().centerY());
console.log("按钮点击结果:"+ isOk1)
}
}
第 1 条补充
· 2 年前
回答
可能需要确认一下控制台会不会把你要点的这个控件挡住,因为控制台本身也是控件而且是悬浮窗,如果使用控件的点击方法不会有影响,但是使用模拟操作就会挡住后面的控件。
我不确定这个控件是不是可点击的,如果是的话用这个方法可能会更好些:
let widget = id('user_avatar').findOne(200);
if (widget === null) {
throw new Error("Widget user_avatar not found");
}
widget.click();
当然如果你用了模板的话可以抛出更详细的异常,最主要是能被捕获并且存在日志模块里
1