html - 通过 VBA 更改 Amazon ComboBox

标签 html vba excel

我尝试编写一个 VBA 宏来自动执行 Internet Explorer 中的工作。我的目标是捕获已经打开的亚马逊网页,并为“Books”设置下拉菜单的值。 目前我能够捕获正在运行的亚马逊网站,但我不知道如何更改下拉菜单的值。

Sub amazonCheck()

Dim element As Object
Dim i As Integer


'get opened Amazon session
Dim shellWins As ShellWindows
Dim IE As InternetExplorer

Set shellWins = New ShellWindows
i = shellWins.Count

On Error Resume Next
For i = 0 To i
    If shellWins.Item(i).Parent = "Internet Explorer" Then
        Debug.Print shellWins.Item(i).Document.URL
        shellWins.Item(i).Visible = True

        If shellWins.Item(i).Document.URL = "http://www.amazon.com/" Then
            Set IE = shellWins.Item(i)
            Exit For
        End If
    End If
Next i
On Error GoTo 0


'try to get dropdown box/ I think it is working fine,
Set element = IE.Document.getElementByID("searchDropdownBox").Item(0)

'try to change a value of dropdown box/ It does nothing
element.Value = "Books"
End Sub

在这里您可以看到 Amazon HTML 代码的示例(我不知道 HTML 是否可能,我正在错误的代码部分中搜索)

<select class="nav-search-dropdown searchSelect" data-nav-digest="zOQ511tmF9BlHuHLk7aFmmjL+iA" data-nav-selected="0" id="searchDropdownBox" name="url" tabindex="18" title="Search in">
<option selected="selected" value="search-alias=aps">All Departments</option>
<option value="search-alias=instant-video">Amazon Video</option>
<option value="search-alias=appliances">Appliances</option>
<option value="search-alias=mobile-apps">Apps &amp; Games</option>
<option value="search-alias=arts-crafts">Arts, Crafts &amp; Sewing</option>
<option value="search-alias=automotive">Automotive</option>
<option value="search-alias=baby-products">Baby</option>
<option value="search-alias=beauty">Beauty</option>
<option value="search-alias=stripbooks">Books</option>
<option value="search-alias=popular">CDs &amp; Vinyl</option>
.
.
.
</select>

我不懂 HTML,这可能很容易,也可能不可能。 你有什么建议吗?

最佳答案

更改