我最近需要更新一个旧的FoxPro遗留应用程序,该应用程序使用 Internet Explorer 自动化来驱动网页的内容,方法是单击一些 href 链接并将数据输入表单并提交。
这曾经工作得很好,但是使用 IE 11 (windows 10) 和 IE 10 (Windows 7) 检查最新版本的 Windows 我看到对元素的任何点击事件调用都没有效果,并且它们静默失败 - 没有错误,但也没有点击。
o = CREATEOBJECT('InternetExplorer.Application')
o.visible = .t.
o.Navigate('http://test.com/ControlBasics.wcsx')
wait window 'page loading...' timeout 1.5
* Target object has no id so navigate DOM to get object reference
oLinks = o.Document.getElementsByTagName('a')
oLink = oLinks.item(0)
oLink.Click()
* o.navigate(oLing.href) && works but not sufficient
o.document.getElementById('txtName').value = 'Rick'
oButton = o.document.getElementById('btnSubmit')
oButton.Click()
在上面的代码中, .click() 事件触发器都没有任何效果。然而,对文本框的分配工作正常,因此页面是脚本化的。
有谁知道发生了什么变化或什么可能影响行为,从而使以前工作的自动化事件代码不再起作用?