【发布时间】:2019-11-16 21:01:39
【问题描述】:
我正在尝试执行网络自动化,其中涉及登录并在我的电子表格上搜索特定文本到网页上的特定框。 我在将值粘贴到网页中的搜索框的第二步中遇到错误。
代码中的错误行:
EnterName.value = Firstname
我已经尝试登录,这一步成功了。但是,第二步没有。
Public IE as Object
Public Entername as Object
Public HTMLdoc as Object
Sub Pink()
'logging in to webpage
username1 = Activeworkbook.worksheets("Sheet1").range("B2").value
password1 = Activeworkbook.worksheets("Sheet1").range("B3").value
' Opening IE explorer
Set IE = New InternetExplorerMedium
With IE
. Visible = true
. navigate "website"
while .Busy or .readyState<>4:DoEvents: Wend
End With
'Actual login
Dim Login as object
Dim password as Object
Set Login = HTML.getElementsByName("Username")(0)
Set password = HTML.getElementsByName("Password")(0)
Login.Value = username1
password.Value = password1
HTMLdoc.forms(0).submit
With IE
while .Busy or .readyState<>4:DoEvents: Wend
End With
call Step2
End sub
************************************************************************
Sub Step2()
Firstname = Range("A8").value
lastName = Range("C8").value
set EnterName = HTMLdoc.getElementsByName("PRIMARY")(0)
EnterName.value = Firstname
End sub
********************************************************************
IE11 Inspect Elements
<input name ="PRIMARY" tableindex="0" class="dijitReset dijitInputInner"
id ="indium_view_form_ValidationTextbox_0" aria-invalid="false" aria-
required="true" type="text" maxlenght="1000" autocomplete="off" data
dojo-attach-point="textbox,focusnode" value=""></input>
我希望将 range("A8") 中的值粘贴到 IE 网页上。但是我收到错误 91。对象变量或未设置块变量
【问题讨论】:
-
更正:设置登录 = HTMLdoc.getElementsByName("Username")(0) 设置密码 = HTMLdoc.getElementsByName("Password")(0)
标签: html excel vba web-scraping internet-explorer-11