auto()
x = desc("加入按钮",).findOne().bounds().centerX()
y = desc("加入按钮").findOne().bounds().centerY()
toastLog(x)
toastLog(y)
click(x, y)
有没有知道这个如何限制在屏幕内去查找按钮的坐标
auto()
x = desc("加入按钮",).findOne().bounds().centerX()
y = desc("加入按钮").findOne().bounds().centerY()
toastLog(x)
toastLog(y)
click(x, y)
有没有知道这个如何限制在屏幕内去查找按钮的坐标
引自免费微信小程序:皆我百晓生
在Auto.js中,如果你发现获取的按钮坐标可能在屏幕之外(即坐标为负数),你可以通过检查按钮的边界信息来确保点击操作在屏幕上进行。这里有一个修改后的示例代码,它会检查按钮的左上角和右下角的坐标,然后调整超出屏幕的部分。
auto()
// 获取按钮的 bounds 对象
buttonBounds = desc("加入按钮").findOne().bounds()
// 计算按钮的中心点坐标
x = buttonBounds.centerX()
y = buttonBounds.centerY()
// 检查并调整 x 和 y 坐标,确保它们在屏幕范围内
screenWidth = Display.getWidth()
screenHeight = Display.getHeight()
if (x < 0) {
x = 0
} else if (x > screenWidth - buttonBounds.width()) {
x = screenWidth - buttonBounds.width()
}
if (y < 0) {
y = 0
} else if (y > screenHeight - buttonBounds.height()) {
y = screenHeight - buttonBounds.height()
}
// 打印调整后的坐标
toastLog("Adjusted X: " + x)
toastLog("Adjusted Y: " + y)
// 在调整后的坐标处点击
click(x, y)
这段代码首先获取了按钮的边界信息,然后计算了中心点坐标。接着,它检查了按钮的边界是否在屏幕范围内,并对超出部分进行了调整。最后,它会在调整后的坐标处执行点击操作。这样可以保证点击始终在屏幕上进行,即使原始坐标可能会导致点击在屏幕外。