首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA web抓取使用搜索词触发筛选器

VBA web抓取使用搜索词触发筛选器
EN

Stack Overflow用户
提问于 2016-08-26 00:28:51
回答 1查看 315关注 0票数 2

使用VBA,我尝试以编程方式将https://data.seattle.gov/Permitting/Electrical-Permits-Current/raim-ay5x处的搜索词输入到输入元素中。只需输入ieInput.value=“可再生能源”,ieInput.click就不会触发过滤器。

有什么想法吗?

我的测试代码:

子EnterSearchTerm()

代码语言:javascript
复制
Dim ieApp As InternetExplorer
If ieApp Is Nothing Then Set ieApp = New InternetExplorerMedium

ieApp.navigate "https://data.seattle.gov/Permitting/Electrical-Permits-Current/raim-ay5x"
ieApp.Visible = True
While ieApp.Busy: DoEvents: Wend
While ieApp.readyState <> READYSTATE_COMPLETE: DoEvents:  Wend

Dim ieInput As HTMLInputElement
Set ieInput = ieApp.document.getElementsByClassName("searchField textPrompt prompt")(0)
ieInput.Value = "RENEWABLE ENERGY"
ieInput.Click

结束子对象

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-08-26 01:00:45

似乎表单上没有提交按钮,输入字段也没有理由单击它的不可点击字段,当用户点击enter时,它会被一个javascript事件过滤,所以这里有两个你可以尝试的解决方案。

1)尝试找出在按enter时触发的是哪个javascript事件,当找到函数名时,只需在vba中添加以下行

代码语言:javascript
复制
    ie.Document.all.Item 
Call ie.Document.parentWindow.execScript("ENTER HERE THE JAVASCRIPT FUNCTION NAME()", "JavaScript") 
.submit 

2)这个方法可能不是最好的,因为只有当你的ie是你当前的窗口并且是活动窗口时,它才会起作用,但如果是这样的话,你可以做以下事情。

代码语言:javascript
复制
Application.SendKeys "~"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39150402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档