2016-09-26 2 views
0

웹 사이트에서 데이터를 가져 오려면 먼저 양식 컨트롤을 채우고 버튼을 클릭하십시오. 그러나 드롭에서 값을 선택할 수는 없습니다 다운 상자,이 작업을 달성 도와주세요.VBA WebScraping 드롭 드롭 다운 상자에서 값을 선택하는 방법

Sub extract_data_from_MonsterIndia() 

    Dim objIE     As Object 
    Dim myjobtype    As String 
    Dim myexperience   As Integer 
    Dim mycity     As String 
    Dim r      As Integer 
    Dim c      As Integer 

    Set objIE = CreateObject("InternetExplorer.Application") 

    myjobtype = "VBA Developer" 
    myexperience = "5" 
    mycity = "Delhi/NCR" 

    With objIE 
     .Visible = True 
     .Navigate ("http://www.monsterindia.com") 

     While .ReadyState <> 4 
      DoEvents 
     Wend 

     .Document.getelementsbyname("fts").Item.innerText = myjobtype 
     .Document.getelementsbyname("exp").Item(0).innerText = myexperience 'This line is not working 
     .Document.getelementsbyname("lmy").Item.innerText = mycity 
     .Document.getelementsbyname("submit")(0).Click 

     Do While .ReadyState <> 4 Or .Busy: DoEvents: Loop 

    End With 

    objIE.Quit 
    Set objIE = Nothing 


End Sub 

답변

0

우리가 실제로 전형적인 '드롭 다운'메뉴 <select> 태그로 처리되지 않습니다이 경우

.Document.getelementbyid("selExp").InnerText = "n" 
.Document.getelementbyid("selExp_val").Value = "n" 

Relevant DOM

을보십시오. 이 메뉴는 <input> 태그의 value 속성 내에 값을 저장하는 몇 가지 DOM 조작 및 옵션 목록을 사용합니다. 따라서이 태그 아래 value 속성을 간단히 수정할 수 있습니다.

내가 게시 한 코드는 태그의 ID (한 ID 만 있어야 함)를 사용하며 .value를 사용하여 해당 특정 요소의 value 속성을 조작합니다. 나에게 오류 메시지를주는, 그러나 그것은 작동하지 않습니다,

+0

안녕, 재생을위한 감사합니다 (서버가 데이터를 수신하거나 사용하는 대부분의 가능성이되지 않습니다) 피상적이기 때문에 innerText와 편집

명시 적으로 필요하지 않습니다 "개체가이 속성 또는 메서드를 지원하지 않습니다." 감사합니다. Kashif – Kashif

+0

코드가 업데이트되었습니다. 그것이 당신을 위해 작동하는지 알려주세요. 어떻게 든 처음봤을 때 DOM을 잘못 읽은 것 같습니다. –

+0

안녕하세요 코드 G, 정말 고맙습니다. 많은 분들께 감사드립니다. 감사합니다. Kashif – Kashif

관련 문제