2016-06-25 1 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

당신은 파이어 폭스 개발자 도구의 네트워크 탭을 사용하여 해당 페이지를 살펴한다 (아래 그림 참조).

이 페이지가 처음로드 될 더 <table ...> 요소가 없기 때문에 오류가 얻을 이유. 액세스하려는 테이블이 들어있는 search_litigations에 대한 두 번째 호출 (POST)이 있습니다.

당신은 당신이 원하는 데이터를 얻기 위해 올바른 전화를 결정해야합니다.

enter image description here