Html VBA从网页上的下拉框中选择值

Html VBA从网页上的下拉框中选择值,html,excel,vba,web,web-scraping,Html,Excel,Vba,Web,Web Scraping,我正在尝试使用VBA将我登录到一个安全的网页,然后导航到一个网页,在搜索数据库之前,我需要从下拉框中选择一个值 我无法得到它在下拉框中选择值的最后一部分,我使用了下面的代码 下拉框名称为=District,文本值为“South”,South的组合值为HTML代码中的一个值。有人能帮忙吗(读了几篇其他的帖子,但不明白) 子数据库() 模糊的物体 作为对象的模糊对象 作为对象的Dim OBJ集合 '添加工作表 Sheets.Add After:=ActiveSheet “目的地 设置destshee

我正在尝试使用VBA将我登录到一个安全的网页,然后导航到一个网页,在搜索数据库之前,我需要从下拉框中选择一个值

我无法得到它在下拉框中选择值的最后一部分,我使用了下面的代码

下拉框名称为=District,文本值为“South”,South的组合值为HTML代码中的一个值。有人能帮忙吗(读了几篇其他的帖子,但不明白)

子数据库()
模糊的物体
作为对象的模糊对象
作为对象的Dim OBJ集合
'添加工作表
Sheets.Add After:=ActiveSheet
“目的地
设置destsheet=ActiveSheet
'使用internet explorer
设置IE=CreateObject(“InternetExplorer.application”)
'打开internet,使其可见并转到网页x,输入用户名
和通行证
与IE
.Visible=True
.导航(“URL”)
忙时或准备时状态4:DoEvents:Wend
'.Document.getElementsbyname(“用户名”).Focus
.Document.getElementsByName(“用户名”)(0.Value=“用户名”
.Document.getElementsByName(“密码”)(0)。Value=“Pword”
忙时或准备时状态4:DoEvents:Wend
设置objCollection=IE.Document.getElementsByTagName(“输入”)
'登录(提交)
i=0
而我
试试看


选择[name=District]选项[value=A]
是一个CSS选择器。它查找具有
选项的元素
带有属性
值的标记
,其值
=A
,以及具有属性
名称
带有值
区域
的父元素
。文档的querySelector方法应用选择器。

html在哪里?还请明确指出您要选择的下拉列表。Item(A).Selected=True需要一个名为btw的变量。因此,下拉框objectname的HTML代码为“District”。我要选择的选项值的值为“A”,与文本值“South”对应-所以我希望该值等于south。抱歉在最后一条消息的中途意外按下enter:“)我无法嵌入,但链接到postah brilliant顶部的图像!谢谢你的工作!只是出于兴趣,我以前从未使用过查询选择,只是这意味着用代码术语从列表中选择?再一次。
    Sub database()

Dim IE As Object
Dim objElement As Object
Dim objCollection As Object

'add worksheet
Sheets.Add After:=ActiveSheet


'destination
 Set destsheet = ActiveSheet
'use internet explorer
 Set IE = CreateObject("InternetExplorer.application")
' with internet open, make this visable and go to webpage x, enter username 
and passwork
With IE
    .Visible = True
    .Navigate ("URL")
    While .Busy Or .ReadyState <> 4: DoEvents: Wend
'.Document.getElementsbyname("User name").Focus
.Document.getElementsByName("username")(0).Value = "username"
.Document.getElementsByName("password")(0).Value = "Pword"
While .Busy Or .ReadyState <> 4: DoEvents: Wend
Set objCollection = IE.Document.getElementsByTagName("input")
'log in (submit)
i = 0
While i < objCollection.Length
           If objCollection(i).Type = "submit" And _
           objCollection(i).Name = "" Then
             ' "Search" button is found
            Set objElement = objCollection(i)

    End If
    i = i + 1
Wend
'upon logging in naviage to webpage...
objElement.Click
.Navigate ("URL 2")

    While .Busy Or .ReadyState <> 4: DoEvents: Wend
    Debug.Print .LocationURL
End With

With IE
IE.doc.getElementsByName("district").Item(A).Selected = True

End With
End Sub
.document.querySelector("Select[name=District] option[value=A]").Selected = True