VBA选择下拉菜单网站

时间:2016-12-25 13:23:31

标签: html excel vba web dropdown

我目前正试图在vba中写一些内容来访问网站并从表中获取信息。到目前为止,我只能设法登录并导航到表格,但我现在要做的是首先过滤表格,方法是在下拉菜单中选择不同的选项。

继承我的代码:

Sub browse()
    Set objIE = CreateObject("InternetExplorer.Application")
    WebSite = "https://www.kicktipp.de/info/profil/login"
    With objIE
        .Visible = True
        .navigate WebSite
        Do While .Busy Or .ReadyState <> 4
            DoEvents
        Loop

        Set Element = .document.getElementsByName("kennung")
        Element.Item(0).Value = "myemail"
        Set Element = .document.getElementsByName("passwort")
        Element.Item(0).Value = "password"
        .document.forms(0).submit
        .navigate "https://www.kicktipp.de/los-bwlos/gesamtuebersicht"
        While ie.ReadyState <> 4 Or ie.Busy: DoEvents: Wend
        Set Element = .document.getElementById("tippspieltagVonIndex")
        Element.Item(0).Value = 4
        Element.FireEvent ("onchange")
        Application.SendKeys (Enter)


        End With

End Sub

问题是,在尝试选择下拉菜单时,我会收到不同的错误消息,具体取决于我是使用getElementById还是getElementsbyName

下面是该部分的HTML:

<tr class="e">
<td class="nw">
<div><label for="tippspieltagVonIndex">Spieltage</label>
</div></td><td><b>von</b> 
<select name="tippspieltagVonIndex" id="tippspieltagVonIndex">
<option selected="selected" value="1">1. Spieltag</option>
<option value="2">2. Spieltag</option>
<option value="3">3. Spieltag</option>
<option value="4">4. Spieltag</option>
<option value="5">5. Spieltag</option>
<option value="6">Achtelfinale</option>
<option value="7">Viertelfinale</option>
<option value="8">Halbfinale</option>

1 个答案:

答案 0 :(得分:0)

SelectedIndex属性

而不是$where_clouse 尝试:Element.Item(0).Value = 4

适用于扩展登录站点HTML的代码

我无法登录,因此我将Element.Item(0).selectedIndex = 4标记添加到登录网站。以下代码中的每个选项都适合我。

Select