使用VBA,我尝试以编程方式在https://data.seattle.gov/Permitting/Electrical-Permits-Current/raim-ay5x处将搜索词输入到输入元素中。只需输入ieInput.value =" RENEWABLE ENERGY"然后ieInput.click不会触发过滤器。
有什么想法吗?
我的测试代码:
Sub 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
End Sub
由于
答案 0 :(得分:0)
表单上似乎没有提交按钮,输入字段没有理由点击它不是可点击的字段,当用户点击进入时,它会被javascript事件过滤掉,所以这里有两个你可以尝试的解决方案
1)尝试找出点击回车时被触发的javascript事件,当你找到功能名称时,只需在你的vba中添加这行
ie.Document.all.Item
Call ie.Document.parentWindow.execScript("ENTER HERE THE JAVASCRIPT FUNCTION NAME()", "JavaScript")
.submit
2)这种方法可能不是最好的方法,因为只有当你的ie是你当前的窗口并且是活动窗口时它才会起作用,但如果是这种情况,你可以做到以下几点。
Application.SendKeys "~"