运行时错误'424'getElementById

时间:2018-03-30 05:55:49

标签: vba web-scraping getelementbyid

我正在尝试自动化我需要在网站文本框中输入一些数据的过程。我重用了一个适用于不同站点的代码,但是当我尝试使用GetElementByID

输入一个值时,我得到一个“运行时错误424:需要对象”

这是该网站的链接:
http://www.e-post.co.il/?page_id=723

(我有兴趣更新上部文本框)

和代码:

Sub main()
Dim objIE As InternetExplorer
Set objIE = New InternetExplorer
objIE.Visible = True
objIE.navigate "http://www.e-post.co.il/?page_id=723"
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
objIE.Document.getElementById("num_with_letters").Value = "IP1210665"   
End Sub

1 个答案:

答案 0 :(得分:1)

我不敢相信我当时没有发现这一点。您的元素在iframe中。您可以直接使用iframe src网址

Public Sub EnterInfo()
    Dim ie As InternetExplorer
    Set ie = New InternetExplorer
    With ie
        .Visible = True
        .navigate "http://run.hfd.co.il/run_public3/"

        While .Busy Or .readyState < 4: DoEvents: Wend

        .document.getElementById("num_with_letters").Value = "IP1210665"

        Stop      
   End With
End Sub

如果要使用原始网址,则需要按以下步骤导航iframe:

.document.getElementsByTagName("iframe")(0).contentDocument.getElementById("btn_eur")