[英]How do I enter information from my excel sheet to a specific website's search bar using VBA?
我正在尝试自动化一个过程,该过程将我存储在 excel 表中的信息输入到下面代码中看到的网站。 我正在尝试识别搜索栏以运行测试,以查看我的信息是否会在我使用搜索按钮之前出现,但在最后一行代码中出现错误。我一直在尝试识别的方式搜索栏用于检查网站上的元素。 我对此很陌生,我已经尝试了一些东西,但我不确定我还应该做什么。
我项目的下一步是收集基于我在搜索栏中输入的信息生成的数字,并将其输入回 excel 工作表,然后再转到下一行信息并重复相同的过程。
先感谢您!
Dim ie As New SHDocVw.InternetExplorer
Dim website As String
website = "https://cardmavin.com/category/football"
ie.navigate website
ie.Visible = True
Do While ie.readyState <> READYSTATE_COMPLETE
Loop
'input name
Dim idoc As MSHTML.HTMLDocument
Set idoc = ie.document
idoc.all.q.Value = "Test"
该元素有一个id,所以我会使用它:
idoc.getElementById("search-field").Value = "Test"
我可以建议不要自动化 Internet Explorer 而是使用后台 HTTP 对象吗? 在许多情况下,它比尝试查找按钮和搜索栏以及等待 IE 加载等要容易得多。
例如,对于您的示例,每当您在搜索栏中输入文本并按“搜索”时,它实际上会将这些搜索词发送到下面例程中的地址。 您无需导航到搜索页面并识别元素...
Sub Example()
Dim httpReq As Object
Set httpReq = CreateObject("MSXML2.ServerXMLHTTP")
httpReq.Open "GET", "https://mavin.io/search?q=2002+Mattel"
httpReq.Send
MsgBox httpReq.responseText
End Sub
URL https://mavin.io/search?q=
是发布请求的位置,之后的内容是我正在使用的搜索词(“2002”和“Mattel”,其中空格变为+
)
httpReq
响应可以读取为文本或数据,或直接放入 HTML 文档进行解析。 没有创建 Internet Explorer,没有加载时间,没有下载图形等。 这只是对 HTML 文档的简单请求,没有附带的所有垃圾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.