gpt4 book ai didi

vba - 通过 Excel VBA 实现 IE11 自动化 - 公司网页

转载 作者:行者123 更新时间:2023-12-04 16:01:04 26 4
gpt4 key购买 nike

首先,我对尝试通过 Excel VBA 自动化 IE 还很陌生。话虽这么说,我正在努力自动登录到公司特定的网页(只有我们的员工才能访问)。目标是自动登录(员工编号、密码并单击登录)。我发现 Firefox 在识别字段方面特别有用,所以这就是我在屏幕截图中使用的内容。

我在网上找到了一些代码来导航到网页并在搜索框中输入内容。我已将其修改如下(包含的链接不是真实的)。

终于到了正题。例如,如果我输入像 www.google.com 这样的网页,一切都会正常执行。但是当我更改到我的公司链接时,代码在 Do While 处卡住并且我得到显示的错误。所以我的问题是为什么它适用于一般网页而不适用于我公司特定的网页?如果我注释掉该行,调试时仍然会出现断开连接的错误。假设这个问题很容易解决,我是否也正确地确定了该字段?

希望我已经为您提供了足够的信息。如果没有,请告诉我还需要什么。预先感谢您的帮助!

错误

Error

'start a new subroutine called SearchBot
Sub SearchBot()

'dimension (declare or set aside memory for) our variables
Dim objIE As InternetExplorer 'special object variable representing the IE browser

'initiating a new instance of Internet Explorer and asigning it to objIE
Set objIE = New InternetExplorer

'make IE browser visible (False would allow IE to run in the background)
objIE.Visible = True

'navigate IE to this web page (a pretty neat search engine really)
objIE.navigate "http://sampletext.asp"

'wait here a few seconds while the browser is busy
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop

'enter value in the employee number box
objIE.document.getElementByName("txtEmployeeNum").Value = "123456"

员工编号

Employee Number

最佳答案

方法的正确名称是 getElementsByName

您还想操作此方法返回的集合元素,而不是整个集合。使用 (0) 索引将允许处理集合的第一个元素。

改变:

objIE.document.getElementByName("txtEmployeeNum").Value = "123456"

到:

objIE.document.getElementsByName("txtEmployeeNum")(0).Value = "123456"

有了这样更正的代码,您应该在 VB 编辑器中使用 F8 单步执行代码。例如,将鼠标悬停在上方,查看 objIE.Busy 是否曾经获得 FALSE,特别是如果 objIE.readyState 曾经达到 4 - 如果只有 3,请改为尝试 objIE.readyState < 3

编辑:

尝试替换:

Dim objIE As InternetExplorer
Set objIE = New InternetExplorer

与:

Dim objIE As Object
Set objIE = GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")

您可能还需要将 objIE.Navigate 更改为 objIE.Navigate2

关于vba - 通过 Excel VBA 实现 IE11 自动化 - 公司网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50499885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com