我有一個代碼,它打開一個網頁並單擊一個鏈接。然後從一個Iframe加載數據,我試圖改變下拉列表的值。使用VBA從iFrame填充網頁上的下拉列表
我試圖從Year
iFrame填充Manufr
下拉列表。使用VBA,但我得到Object Variable or With Block Variable not set
錯誤。這可能與我試圖編輯的數據在Iframe中有關嗎?
這裏是代碼我試圖使用
Sub Scrape2()
Dim Browser As InternetExplorer
Dim Doc As HTMLDocument
Dim element As IHTMLElement
Set Browser = New InternetExplorer
Browser.Visible = True
Browser.navigate "http://catalog.xxxxxxx.com"
Do While Browser.Busy And Not Browser.readyState = READYSTATE_COMPLETE
DoEvents
Loop
For Each l In Browser.document.getElementsByTagName("a")
If l = "http://catalog.xxxxx.com/Catalog.asp?VehicleRef=2" Then
l.Click
Exit For
End If
Next
Stop
Set Doc = Browser.document
Dim mainIframe
Dim subIframe
Set mainIframe = Doc.frames.Item(1).document
Set subIframe = mainIframe.frames.Item(0).document
Set element = mainIframe.getElementById("Manufacturer").selectedIndex = 1
element.FireEvent ("onchange")
Set Doc = Nothing
Set Browser = Nothing
End Sub
什麼是第一個鏈接點擊嗎?你是否需要等待該事件完成? –
第一個鏈接在文檔中加載iframe。難道數據嵌入在Iframe中,導致問題? –
是的框架中的文檔與您正在使用的文檔不是同一文檔。你需要時間來加載。 –