使用VBA,我尝试以编程方式将https://data.seattle.gov/Permitting/Electrical-Permits-Current/raim-ay5x处的搜索词输入到输入元素中。只需输入ieInput.value=“可再生能源”,ieInput.click就不会触发过滤器。
有什么想法吗?
我的测试代码:
子EnterSearchTerm()
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结束子对象
谢谢
发布于 2016-08-26 01:00:45
似乎表单上没有提交按钮,输入字段也没有理由单击它的不可点击字段,当用户点击enter时,它会被一个javascript事件过滤,所以这里有两个你可以尝试的解决方案。
1)尝试找出在按enter时触发的是哪个javascript事件,当找到函数名时,只需在vba中添加以下行
ie.Document.all.Item
Call ie.Document.parentWindow.execScript("ENTER HERE THE JAVASCRIPT FUNCTION NAME()", "JavaScript")
.submit 2)这个方法可能不是最好的,因为只有当你的ie是你当前的窗口并且是活动窗口时,它才会起作用,但如果是这样的话,你可以做以下事情。
Application.SendKeys "~"https://stackoverflow.com/questions/39150402
复制相似问题