【日期选择】IE兼容模式下,无法获取元素的解决思路
评论
收藏

【日期选择】IE兼容模式下,无法获取元素的解决思路

经验分享
看我眼色行事
2026-09-07 15:18·浏览量:210
看我眼色行事
影刀高级开发者
发布于 2026-09-07 14:46更新于 2026-09-07 15:18210浏览

【日期选择】IE兼容模式下,无法获取元素的解决思路

 

🎯 问题场景:

       公司某个上古ERP软件,只能在EDGE的IE兼容模式下运行.

       由于业务需要,业务员要导出过往每一天的商品在库报表. (即:在库日报)

       以往人工操作,需要从下图日期选择窗体中: 逐年逐月逐日的一个个手动点击.   重复量巨大.

 

💥 遇到的问题:

       由于Windows 11 只有EDGE浏览器

<1>EDGE的IE兼容模式下, F12 开发者工具无法获取任何源代码信息... (如下图)

       <2>影刀可正常获取到IE模式下的一级窗口,但对于二级,N级控件弹窗,则无法捕获... 直接提示元素不存在or压根找不到浏览器窗口 (如图所示)

      

<3>尝试通过AI辅助定位或AI处理也不行.因为有对于次级弹窗,压根定位不到该窗口对象.

 

🔧 解决方案   

       💡 业务逻辑梳理:

       <1>既然库存日报查询的是过往数据.因此日期选择上不存在 ≥ 当日日期的可能.  ➡️ 那么我就以获取系统当前日期作为  [ 结束日期 ] .

       <2>对于 [ 开始日期 ] , 则设计了日期自定义对话框,让用户一开始自己选择.

      

       💡 RPA开发思路:

       <1>虽然F12开发工具无法获取源代码和Xpath,但影刀可正常获取IE的一级窗口和按钮元素,但会卡在日期控件弹窗无法获取. 通过实际操作后发现,可通过键盘快捷键,如{Tab}{Space}等做兜底操作.

       <2>从业务逻辑的梳理中,我能得到 [开始日期] 和 [结束日期]  两个值, 对两个日期值做 Python切片处理,根据 (年/月/日) 的切片数值相减 , 即得出了分别要对年月日的 键盘的按下次数. 之后在初始日期的基础上进行 For 循环即可实现.

 

 

✅ 最终效果

经过测试,用户只需在对话框中任意输入 [开始日期] , 即可实现逐日循环查询每一天的日报. (如下图)

 

 

 

收藏
全部评论(1)
最新
发布评论
评论