excel - 如何将数据输入 Internet Explorer 网站?
问题描述
我正在尝试在 Internet Explorer 11 网站表单中输入信息。网站/表单是很久以前设计的(大约 15-20 年)。该网站只能通过 Internet Explorer 访问。
我无法共享网站/源代码,因为它是我公司内部的。
我在网上浏览了一个解决方案,但没有一个有效(我尝试了许多不同的版本)。
我正在寻找登录,然后通过几页输入信息,同时在每个阶段单击下一步/提交。我登录后失败了。
我在 Excel 上有以下参考资料:
Microsoft Internet 控件、Microsoft HTML 对象库、Microsoft XML、v6.0
我正在关注明智的猫头鹰教程https://www.youtube.com/watch?v=dShR33CdlY8。跳到大约 17 分钟,看看我从哪里得到代码。
我在线路上收到一条错误消息htmlinput.Value = "excel"
。
错误消息是
对象变量或未设置块变量 - 运行时错误“91”
Sub navigate_website()
Dim ie As New SHDocVw.InternetExplorer
Dim htmldoc As MSHTML.HTMLDocument
Dim htmlinput As MSHTML.IHTMLElement
ie.Visible = True
ie.navigate Sheet1.Range("C2").Text
Do While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
'enter in userid
ie.document.forms("formsamplename").elements("usedid").Value = ThisWorkbook.Sheets("sheet1").Range("B6")
'enter in password
ie.document.forms("formsamplename").elements("userpassword").Value = ThisWorkbook.Sheets("sheet1").Range("B7")
'click the login button
ie.document.forms("formsamplename").elements("cmdSubmit").Click
Do While ie.Busy Or ie.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
' ----- I tried the below code as an alternative but it didn't work -----
'ie.document.forms("formsamplename").elements("usernumber").Value = ThisWorkbook.Sheets("sheet1").Range("B6")
Set htmldoc = ie.document
Set htmlinput = htmldoc.getElementById("usernumber")
htmlinput.Value = "excel" **'error occurs here**
' ----- I also tried the below code, but it didn't work -----
'htmldoc.forms("formsamplename").elements("usernumber").Value = "test"
Set ie = Nothing
Set htmldoc = Nothing
Set htmlinput = Nothing
End Sub
解决方案
推荐阅读
- java - 测量每个线程的精确执行时间
- javascript - 如何在 SharePoint 中禁用刻度控制
- oracle - 如何编写一个接受可变数量绑定参数的存储过程
- python - 如何使用python从(nifti文件).nii.gz文件中获取.json文件
- mysql - 如果列为空,Mysql concat 不起作用,查询有什么问题?
- javascript - 获取控制台日志错误代码 selenium js
- r - 如何在矩阵上循环操作?
- javascript - 大型 mailto 链接无法在 Chrome 中打开
- javascript - 当我们提到(@)机器人时,如何使 Discord.js 机器人响应本地图片?
- r - 按名称减去数据框的列