2016-06-25 12 views
0

私は、このページからの結果https://search.rpxcorp.com/advanced_search/search_litigations#grouped=false&searchq=%221%3A2015-cv-00014%22&page=1&sub_page=1エクセルVBA IEオブジェクト

を取得したいしかし、エラーを取得:

got this popup

私はそれがObjResult5 =言う「ObjResult5」に私のカーソルを移動したときにデバッグをクリックした後"何もない"

got this popup

マイマクロ:

Sub getDataIE_Basic() 
Dim totalResults As Long 
Dim RowBasic As Long 
totalResults = 2-1 
RowBasic = 2 

Set Sheet_OutputBasic = Worksheets("Output - Basic Data") 
Set objIEBrowser = CreateObject("InternetExplorer.Application") 

objIEBrowser.Visible = True 
Dim url As String 
url = "https://search.rpxcorp.com/advanced_search/search_litigations#grouped=false&searchq=%221%3A2015-cv-00014%22&page=1&sub_page=1" 

objIEBrowser.navigate url 

Do 
    DoEvents 
Loop Until objIEBrowser.readyState = READYSTATE_COMPLETE 

Call FnWait(5) 

Set Doc = objIEBrowser.document 

For Results = 0 To totalResults 

Set objResultMain = Doc.getElementById("search_results_replaced_content") 
Set objResult = objResultMain.getElementsByTagName("Div")(0) 
Set objResult2 = objResult.getElementsByTagName("Div")(1) 
Set objResult3 = objResult2.getElementsByTagName("Div")(2) 
Set objResult4 = objResult3.getElementsByTagName("Div")(1) 
Set objResult5 = objResult4.getElementsByTagName("table")(0) 
Set objResult6 = objResult5.getElementsByTagName("tbody")(0) 
Set objResult7 = objResult6.getElementsByTagName("tr")(0) 

FileDate = objResult7.getElementsByTagName("td")(0).innerText 
CaseName = objResult7.getElementsByTagName("td")(1).innerText 
CaseNo = objResult7.getElementsByTagName("td")(2).innerText 
FilJurisdiction = objResult7.getElementsByTagName("td")(3).innerText 
Status = objResult7.getElementsByTagName("td")(4).innerText 

Sheet_OutputBasic.Cells(RowBasic, 1) = FileDate 
Sheet_OutputBasic.Cells(RowBasic, 2) = CaseName 
Sheet_OutputBasic.Cells(RowBasic, 3) = CaseNo 
Sheet_OutputBasic.Cells(RowBasic, 4) = FilJurisdiction 
Sheet_OutputBasic.Cells(RowBasic, 5) = Status 

RowBasic = RowBasic + 1 

Next Results 

End Sub 
Function FnWait(intTime) 

newHour = Hour(Now()) 

newMinute = Minute(Now()) 

newSecond = Second(Now()) + intTime 

waitTime = TimeSerial(newHour, newMinute, newSecond) 

Application.Wait waitTime 

End Function 

この問題を解決するにはどうすればよいですか?

+1

'しかしerrors'取得 - 超便利... **あなたが**エラーが発生していますか?具体的にしてください。 –

+0

それはobjResult5 =何も得られません。 – jitex

答えて

0

Firefoxの開発者ツールの[ネットワーク]タブを使用して、そのページをご覧ください(下の画像を参照)。

エラーが発生する理由は、ページが最初に読み込まれたときに、<table ...>要素がないためです。アクセスしようとしているテーブルが含まれているsearch_litigationsへの2回目の呼び出し(POST)があります。

適切な呼び出しを決定して、必要なデータを取得する必要があります。

enter image description here