本帖最后由 仙乃日 于 2016-12-1 10:50 编辑 <INPUT class=text style="IME-MODE: disabled" maxLength=10 name=sfrq00 mask="date" jQuery1480553406092="250">
网页代码如上。
手工点击后,会跳出一个日历控件,让用户选择。但是直接通过操作DOM来赋值就不成。
试过改写代码也不成。
$Ele = _IEGetObjByName($oIE, "sfrq00")
$sHTML = '<<INPUT class=text style="IME-MODE: disabled" maxLength=10 value=2016-11-26 name=sfrq00>'
$Ele.innerHTML = $sHTML
当然直接$Ele.Value = "2016-11-26" 也不成。
加上$Ele.fireEvent("OnChange")还是不成。
------------------
晕死!原来是DOM元素重名了。操作这个网页还发现一个怪异的事情。$Ele = _IEGetObjByName($oIE3, "ettz00",0)
Local $tz = 4.5 + Random(-3, 4, 1) / 10
$Ele.Value =$tz
使用_IEGetObjByName会有问题,匹配到的DOM元素是"ttz00"Local $oInputs = _IETagNameGetCollection($oIE3, "input")
For $oInput In $oInputs
If $oInput.Name = "ettz00" Then
Local $tz = 4.5 + Random(-3, 4, 1) / 10
$oInput.focus()
$oInput.click()
$oInput.Value = $tz
$oInput.blur()
MsgBox(0, @error, $oInput.outerhtml)
ExitLoop
EndIf
Next
而使用_IETagNameGetCollection就能正确地找到 "ettz00"元素。 |