标签: ie-automation

通过 Excel 自动化 IE 以填写下拉列表并继续

诚然,仍然是通过 Excel 自动化 IE 的新手,但会感谢任何人可以提供的任何帮助。基本上,这会打开一个网页,选择一个按钮,填写 2 个下拉列表,输入一个值,然后按下另一个按钮以显示我需要的内容。我确实使用 SendKeys 和一堆 {Tabs}、{`}、{Down} 等工作,但它相当笨重。我宁愿以正确的方式执行此操作,但我只能进入第一个下拉列表,选择我需要的值然后停止。我想,我缺少的是告诉 IE 接受我输入的内容并继续。编码如下。包括评论以显示它正在做什么以及它在哪里停止。

Dim WebIDStr As String: WebIDStr = "CD00003630"
Dim IE As Object
WebNavStr = "https://a810-dobnow.nyc.gov/Publish/#!/"
On Error Resume Next
Set IE = Nothing
Set IE = CreateObject("InternetExplorer.Application")
With IE
    .Visible = True
    .navigate WebNavStr
    Do Until .readyState = 4: DoEvents: Loop
End With
' Won't work without a delay??
Application.Wait (Now + TimeValue("00:00:03"))
IE.document.getElementsByClassName("white ng-scope")(3).Click
' the next command works and fills-in the dropdown with the value
' …
Run Code Online (Sandbox Code Playgroud)

excel internet-explorer vba ie-automation

2
推荐指数
1
解决办法
294
查看次数

FoxPro Internet Explorer COM自动化:点击在IE 10及更高版本中不起作用?

我最近需要更新一个旧的FoxPro遗留应用程序,该应用程序使用Internet Explorer Automation来通过单击某些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()
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,.click()事件触发器都没有任何效果.然而,对文本框的分配工作正常,因此页面是脚本化的.

有人知道发生了什么变化或者可能会对行为产生什么影响,以便自动化以前工作的事件代码不再有效吗?

com internet-explorer foxpro ie-automation

1
推荐指数
1
解决办法
1407
查看次数

标签 统计

ie-automation ×2

internet-explorer ×2

com ×1

excel ×1

foxpro ×1

vba ×1