2016-09-26 80 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

尝试

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

Relevant DOM

在这种情况下,我们没有实际处理典型的 '下拉' 菜单<select>标签。该菜单使用一系列选项和一些DOM操作来存储<input>标记值属性中的值。因此,我们可以简单地修改该标签下的值属性。

我发布的代码使用标签的id(应该只有一个id),我们使用.value来操作该特定元素的value属性。

编辑的innerText是没有明确必要的,因为它是肤浅的(服务器很可能不会接收或使用该资料)

+0

嗨, 感谢重播,但它不能正常工作,给我一个错误信息“对象不支持此属性或方法。” 谢谢 Kashif – Kashif

+0

我更新了代码。请让我知道这对你有没有用。我认为我第一次以某种方式看它时误解了DOM。 –

+0

嗨Code G, 非常感谢你,它工作正常。 很多很多感谢你:) 谢谢 Kashif – Kashif

相关问题