我遇到一些麻烦进入搜索框内文字后,我当什么,我认为是correcet ID标签。 我从页面的源代码的ID。 我与其他网站之前已经这样做了。 是否有人可以帮助我吗? 是否有另一种方式做到这一点?
Sub FileUpload()
Dim IEexp as Object
IEexp.visible = True
IEexp.Navigate ("www.example.com")
'this is where the problem
IEexp.Document.GetElementByID("step1_id_bean_newSupportingDoc_description").Value _
= "monthly update"
End Sub
我得到一个“自动化错误调用的对象已从其客户端断开”
我来自哪里拉ID源代码:
<td class="Label">Description</td>
<td class="Data"><input type="text" name="bean.newSupportingDoc.description" size="60" maxlength="250" value="" id="step1_id_bean_newSupportingDoc_description" class="NoBorder"/>
</td>
如果您使用Set IEexp = New InternetExplorerMedium
你没有在您的Internet选项更改设置。 它自动实例化与中等完整性应用程序设置的IE对象。
你可以试试
Do Until IEexp.readyState = 4
DoEvents
Loop
IEexp.Document.getElementById("username").Value = "Monthly update"
IEexp.Document.getElementById("password").Value = FilePth
代码工作。 什么“保护模式”? 看到这篇文章: http://www.sevenforums.com/tutorials/63141-internet-explorer-protected-mode-turn-off.html 。 如果你的IE浏览器在保护模式下运行,然后尝试将其关闭,并再次运行代码。
' Add References:
' - Microsoft HTML Object Library
' - Microsoft Internet Controls
Sub FileUpload()
Dim IEexp As InternetExplorer
Set IEexp = New InternetExplorer
IEexp.Visible = True
IEexp.navigate "www.example.com"
Do While IEexp.readyState <> 4: DoEvents: Loop
Dim inputElement As HTMLInputElement
Set inputElement = IEexp.Document.getElementById("step1_id_bean_newSupportingDoc_description")
If (Not inputElement Is Nothing) Then
inputElement.Value = "monthly update"
Else
MsgBox "Input element not found on web page."
End If
IEexp.Quit
Set IEexp = Nothing
End Sub