繁体   English   中英

如何使用 VBA 将 excel 表中的信息输入到特定网站的搜索栏?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM