【问题标题】:IE automation through Excel vba通过 Excel vba 实现 IE 自动化
【发布时间】:2016-07-18 14:50:36
【问题描述】:

我遇到的问题很简单。我正在打开一个网页,寻找输入框,在其中输入一些文本,然后点击搜索按钮。上传新网页后,我会收集所需的所有信息。我的问题在于上传网页所花费的时间。我的收集代码不起作用,因为新网页仍未加载。我有以下代码等待:

Do While ie.ReadyState <> READYSTATE_COMPLETE
            DoEvents
 Loop

ie 是这样设置的

Set ie = New InternetExplorer

除了application.wait 之外还有其他代码可以用来解决这个问题吗?

【问题讨论】:

    标签: excel vba internet-explorer


    【解决方案1】:

    我在尝试相同时遇到了类似的问题。问题是 IE 对象的就绪状态并不总是可信的,或者至少,它并没有表明您的想法。例如,它会让您知道每个框架何时准备就绪,而不是整个页面。因此,如果您实际上不需要查看 Web 浏览器控件,而只关心发送和接收数据。我的建议是不要费心在 Web 浏览器对象中渲染页面,而只需使用 WinHttpRequest 发送和接收数据。

    工具>参考>Microsoft WinHTTP 服务

    使用它,您可以直接发送和接收 HTML 数据。如果您的页面使用 URL 参数,您发送一个“GET”然后解析回复。否则,您将不得不发送“PUT”并发送编辑后的 ​​HTML(基本上采用您开始的空白表单页面并设置所有值)。首次使用时,根据您尝试自动化的页面的复杂性来获得正确的格式可能有点棘手。找一个好的网络挖掘工具(比如 Fiddler),这样你就可以看到 HTML 被发送到你的目标页面。

    【讨论】:

      猜你喜欢
      • 2020-01-16
      • 2018-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      • 2016-10-10
      • 2016-08-20
      相关资源
      最近更新 更多