ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 398|回复: 4

网页已经填充好,为什么还要手动单击两下

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-5-18 10:41 | 显示全部楼层 |阅读模式
想请教大神,我网页已经填好了,可是点保存的时候,这些个文本还是显示为空,要再在这格单击两下
用以下方法模拟双击也不行
   For Each objInput In IE.document.getelementsbytagname("input")
        If objInput.Type = "text" Then
            objInput.onclick = "vbaFunction()"
        End If
顺理再问一下,这个日期用这个
IE.Document.getElementById("checkdate$text").Value = "2023-05-15"
为什么也不行呢

图片.png

class="mini-textbox-border mini-corner-all"><INPUT class="mini-textbox-input" id="rowguid$text" type="text" placeholder="" autocomplete="off"></SPAN><INPUT type="hidden"></SPAN>
                                 <LABEL class="form-label required">工程所在省(市、县):</LABEL>
<DIV class="form-control span1" starred="true" label="工程所在省(市、县)"><SPAN class="mini-buttonedit mini-treeselect mini-popupedit mini-required"
id="gcszs" style="border-width: 0px;" data-tooltip=""><SPAN class="mini-buttonedit-border mini-corner-all"><INPUT class="mini-buttonedit-input" id="gcszs$text" type="text" readonly="" placeholder="" autocomplete="off"><SPAN
class="mini-buttonedit-buttons"><SPAN class="mini-buttonedit-close mini-icon"
name="close"></SPAN><SPAN title="" class="mini-buttonedit-button mini-buttonedit-trigger"
onmouseover="mini.addClass(this, 'mini-buttonedit-button-hover');"
name="trigger"><SPAN
class="mini-buttonedit-icon mini-icon mini-iconfont "></SPAN></SPAN></SPAN></SPAN><INPUT id="gcszs$value" type="hidden" value="请选择"></SPAN>
<INPUT class="mini-hidden" id="gcszscode" type="hidden" value="">
                                 </DIV><LABEL class="form-label required">检查人:</LABEL>
<DIV class="form-control span1" starred="true" label="检查人"><SPAN class="mini-textbox mini-required mini-error"
id="checkusername" style="border-width: 0px;" data-tooltip="检查人不能为空!"><SPAN

class="mini-textbox-border mini-corner-all"><INPUT class="mini-textbox-input" id="checkusername$text" type="text" maxlength="100" placeholder="" autocomplete="off"></SPAN><INPUT type="hidden"><SPAN
title="检查人不能为空!" class="mini-errorIcon" data-placement="right"></SPAN></SPAN>
                                 </DIV><LABEL class="form-label required">检查日期:</LABEL>
<DIV class="form-control span1" starred="true" label="检查日期"><SPAN class="mini-buttonedit mini-datepicker mini-popupedit mini-required mini-buttonedit-noInput"
id="checkdate" style="border-width: 0px;" data-tooltip=""><SPAN class="mini-buttonedit-border mini-corner-all"><INPUT class="mini-buttonedit-input" id="checkdate$text" type="text" readonly="" placeholder="" autocomplete="off"><SPAN

TA的精华主题

TA的得分主题

发表于 2023-5-18 10:58 | 显示全部楼层
可能网页就是这么设计的,不从value里读数据,而是每当进入离开时触发检查,检查通过的内容才会被保存等待发送,所以直接写value不行,需要再触发离开事件,日历就不好说了,先试试手动输入日期可以吗,不行还得看日历是怎么实现的。。。
所以这种情况不如用selenium模拟用户的操作,或者直接看post请求长啥样自己构造一下。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-18 11:16 | 显示全部楼层
wanghan519 发表于 2023-5-18 10:58
可能网页就是这么设计的,不从value里读数据,而是每当进入离开时触发检查,检查通过的内容才会被保存等待 ...

非常感谢,我学得很片面,我再学习下。

TA的精华主题

TA的得分主题

发表于 2023-5-18 11:43 | 显示全部楼层
xiaoyoufish 发表于 2023-5-18 11:16
非常感谢,我学得很片面,我再学习下。

又搜了一下,上面说的不太对。。。
这网页好像使用了miniui框架,那么设置值应该用mini.get('checkdate').setValue(new Date());可以试一下

TA的精华主题

TA的得分主题

发表于 2023-5-18 11:55 | 显示全部楼层
设置完输入框的值后,试试触发 input 事件:
  1. objInput.dispatchEvent(new Event('input'));
复制代码


你可以搜索错误提示框的内容,来查看那一段代码是判断了什么之后弹出对话框的。以 Chrome 浏览器为例,在“开发者工具”窗口,按 Ctrl+Shift+F,输入错误提示框的文字,回车搜索,就能定位到那一段代码。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 10:34 , Processed in 0.042061 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表