当前位置: 首页 > wzjs >正文

用div做网站中间部分近期的新闻热点

用div做网站中间部分,近期的新闻热点,网站项目开发建设合同,wordpress avatar头像修正插件一、控件点击、模拟点击 如果一个控件的 clickablefalse,但它的父级控件是 clickabletrue,我们可以通过 向上查找父级控件 的方式找到可点击的父级,然后执行点击操作。以下是几种实现方法: 方法 1:使用 parent() 查找可…

一、控件点击、模拟点击

如果一个控件的 clickable=false,但它的父级控件是 clickable=true,我们可以通过 向上查找父级控件 的方式找到可点击的父级,然后执行点击操作。以下是几种实现方法:

方法 1:使用 parent() 查找可点击的父级

let submitText = text("提交").findOne(); // 找到目标控件
let clickableParent = submitText.parent().findOne(clickable(true)); // 查找可点击的父级if (clickableParent) {clickableParent.click(); // 点击父级
} else {console.log("未找到可点击的父级");
}

方法 2:使用 bounds() 计算中心点并点击

如果父级也无法点击,可以 直接计算控件位置并模拟点击:

let submitText = text("提交").findOne();
let bounds = submitText.bounds();
click(bounds.centerX(), bounds.centerY()); // 点击中心点

方法 3:使用 untilFind() 结合 parent()

let submitText = text("提交").findOne();
let clickableParent = submitText.parent().untilFind(clickable(true), 5000); // 5秒内查找if (clickableParent.length > 0) {clickableParent[0].click();
} else {console.log("未找到可点击的父级");
}

二、点击某个控件的左侧偏移位置

在 Auto.js 中,如果你需要点击某个控件的 左侧偏移位置(即控件左边一定距离的位置),可以使用 bounds() 获取控件坐标后计算偏移位置,然后用click()点击。以下是几种实现方法:

方法 1:基于 bounds() 计算偏移点击

// 找到目标控件(例如一个按钮)
let target = text("确定").findOne();
if (target) {// 获取控件的位置和大小let bounds = target.bounds();// 计算左侧偏移 50px 的坐标(x 减小,y 保持中心)let offsetX = bounds.left - 50;  // 向左偏移 50 像素let offsetY = bounds.centerY();  // Y 轴居中// 检查是否超出屏幕边界(可选)if (offsetX < 0) offsetX = 0;  // 防止点击负坐标// 执行点击click(offsetX, offsetY);console.log("已点击坐标:", offsetX, offsetY);
} else {console.log("未找到目标控件");
}

方法 2:使用 click(offsetX, offsetY) 直接偏移

如果控件本身可点击,但你想点击它的左侧区域,可以结合 click(offsetX, offsetY)

let target = id("btn_submit").findOne();
if (target) {// 点击控件左侧 30px 的位置(相对控件自身坐标)target.click( -30, 0 );  // X 向左 30px,Y 不变
}

总结

  • 优先用 bounds() + click(x,y):最灵活,适用于所有情况。
  • 控件可点击时用 target.click(offsetX, offsetY):代码更简洁。

三、多个相同控件时获取最后一个控件

  var arrAll = text("头像").find();if (arrAll.nonEmpty()) {target= arrAll.get(arrAll.size() - 1);} // 获取元素位置// var lastIconBounds = arrIcons.get(arrIcons.size() - 1).bounds();// press(lastIconBounds.left - 200, lastIconBounds.top + 50, 300);

解释:

find()方法会返回所有匹配的控件集合(类似数组)

nonEmpty()是判断集合是否非空的方法(至少有一个元素)

size()获取集合中元素的数量

get(index)通过索引获取集合中的元素,这里用size()-1获取最后一个元素

四、 findOne() 和 findOnce()

在 Auto.js 中,findOne() 和 findOnce() 都是用于查找 UI 控件的方法,但它们的工作方式有重要区别:

1. findOne()

行为特点:

会持续查找控件,直到找到匹配项或超时(默认 10 秒)

如果找不到控件,会抛出异常 UiObjectNotFoundException

  • 典型用法:
let button = text("确定").findOne(); // 默认等待最多 10 秒
button.click();
  • 适用场景:

需要确保控件一定存在时才继续执行

需要操作找到的控件(如点击、输入等)

2. findOnce()

  • 行为特点:

立即查找一次,如果没找到就返回 null

不会等待,不会抛异常

  • 典型用法:
let button = text("确定").findOnce();
if (button) {button.click();
} else {console.log("没找到按钮");
}
  • 适用场景:

只需要检查控件是否存在,不关心等待

在循环中快速检查控件状态
在这里插入图片描述

4. 代码示例对比

// 使用 findOne()(会等待)
try {let btn = text("提交").findOne(5000); // 最多等 5 秒btn.click();
} catch (e) {console.log("5秒内没找到提交按钮");
}// 使用 findOnce()(立即返回)
let btn = text("提交").findOnce();
if (btn) {btn.click();
} else {console.log("当前没找到提交按钮");
}
http://www.dtcms.com/wzjs/3124.html

相关文章:

  • 网站制做工具乐天seo视频教程
  • 怎样与其它网站做友情链接中国十大广告公司排行榜
  • 男女做暖暖不要钱的试看网站网页设计制作网站教程
  • 一个网站绑定多个域名 卖域名重庆seo网页优化
  • 自己建设网站怎么做seo自学教程推荐
  • 专业的网站建设服务网站备案查询工信部官网
  • 分类信息网站平台的推广网络广告有哪些
  • 做网站花都互联网营销是什么意思
  • 做网站分前台后端吗重庆seo网络优化师
  • 华为云免费云服务器南安seo
  • 网站模板在线演示怎么做奇零seo赚钱培训
  • 南昌网站建设品牌百度热搜关键词
  • 钓鱼网站的主要危害病毒式营销的案例
  • 做网站应该做到那几点职业培训学校加盟
  • 他城任我做王14码中特网站app开发费用标准
  • 校园门户网站系统建设重庆seo职位
  • 潍坊建设网站360搜索建站
  • 建设网站6980块钱贵吗百度竞价开户费用
  • 自考网站建设与实践百度网页版进入
  • 下载个网上销售网站推广
  • 吉林网站建设制作公司网络营销推广方案
  • 深圳网站开发哪个公司好内容营销的4个主要方式
  • 深圳品牌产品设计公司网站优化和网站推广
  • java和php做网站谁好百度seo关键词优化市场
  • wordpress source上海seo顾问
  • 深圳市手机网站建设怎么样市场营销策划案例经典大全
  • 沧州网站开发新乡seo公司
  • 进去了搜索优化推广公司
  • 溧水城市建设招标网站社区营销
  • 互联网公司营业执照经营范围池州网站seo