案例1:常见最基本的日期选择
最简单常规的输入框式的日期范围或单个日期,直接找到输入框输入符合网页的日期格式就行了,不要老想着点击,不要停留在十几年前按键精灵的层面!

案例2:不可模拟人工输入的日期选择
更进一步输入框无法输入的情况,我会采用js来赋值,当然这不是百分百能解决的,我也没法给你一个百分百能解决的通用方案
通用方案如果存在的话,搞这么复杂干什么?影刀官方还专门搞一期日期选择闲的吗?只能是多层思路灵活应对!


var start = document.evaluate('//input[@placeholder="请选择开始时间"]',document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;
var end = document.evaluate('//input[@placeholder="请选择结束时间"]',document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;
start.value = '2026-09-01 00:00:00';
end.value = '2026-09-30 23:59:59';
start.dispatchEvent(new Event('input',{bubbles:true}));
start.dispatchEvent(new Event('change',{bubbles:true}));
end.dispatchEvent(new Event('input',{bubbles:true}));
end.dispatchEvent(new Event('change',{bubbles:true}));这些代码你不需要你自己会写,可以直接复制这个选择日期范围的区域的html源码(dom节点)与AI沟通清楚你要干什么
更劲爆的是AI甚至一眼就判断出网页用的什么数据框架,意味着你还有一种用数据框架对象来修改日期的方式

var input = document.querySelector('input[placeholder="请选择开始时间"]');
var scope = angular.element(input).scope();
scope.vm.startTime = '2026-09-01 00:00:00';
scope.vm.endTime = '2026-09-30 23:59:59';
scope.$apply();
最后两种方式,实现的目的和效果一样!从头到尾无需自己写一行代码,但是你一定要清楚怎么回事
js代码一定要符合影刀的js运行框架,另外js的执行环境一定要是网页环境
function (element, input) {
// 在此处编写您的Javascript代码
// element表示选择的操作目标(HTML元素)
// input表示输入的参数(字符串)
return null;
}
案例3:不能轻易定位元素日期选择
那么还可能有iframe嵌套,shadow节点嵌套且closed状态,这些不容易让你定位日期选择器(选择日期的这个控件元素,这个框)的情况,甚至可能直接在canvas画布内有一个日期选择
元素定位实际这也是影刀rpa的优势和亮点,捕获元素的工具解决了很多人不会定位元素的问题,但是呢你如果永远都不会根据自己的需要手搓个css或者xpath,那可以说你永远是新手
手头暂无更多真是网页案例...
永远记住模拟人工有可能是我们最后的退路,并不是最优先的考虑,无路可走的时候再考虑模拟人工点来点去
另外记住你有更好的实现方式当然最好,如果没有,那么你就用你最笨的办法去实现(不管你是坐标点击,图像识别等等),目的就是为了实现需求而已,并不是为了比拼谁实现的更巧更妙代码更少