VBA WebScraping如何从下拉框中选择值

时间:2016-09-26 06:19:57

标签: excel vba

我想从网站上获取一些数据,首先填写表单控件,然后单击按钮,但是我无法从下拉框中选择值,请帮我完成此任务。

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

1 个答案:

答案 0 :(得分:0)

尝试

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

Relevant DOM

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

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

编辑innerText并不是必需的,因为它很肤浅(服务器很可能不会接收或使用该数据)