Html 如何使用VBA在Internet Exlorer中单击跨度元素
我试着点击一个我用用户名和密码访问过的网站上的span元素,我已经尝试了我能想象的所有可能的方式(大多数都在这个网站上找到)。也许你可以帮我,这是我使用的代码:Html 如何使用VBA在Internet Exlorer中单击跨度元素,html,excel,vba,Html,Excel,Vba,我试着点击一个我用用户名和密码访问过的网站上的span元素,我已经尝试了我能想象的所有可能的方式(大多数都在这个网站上找到)。也许你可以帮我,这是我使用的代码: Sub internet_explore() Dim ie As InternetExplorer Dim page As HTMLDocument Set ie = CreateObject("internetexplorer.application") ie.Visible = True ie.Navigate2 "TheWe
Sub internet_explore()
Dim ie As InternetExplorer
Dim page As HTMLDocument
Set ie = CreateObject("internetexplorer.application")
ie.Visible = True
ie.Navigate2 "TheWebPage"
Do While ie.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
'Here I enter code to do the login and make a search by filling an input box and clicking on search button
'wait for the search to load up
Do While ie.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
Set page = ie.Document
Dim e as HTMLElementCollection
Dim c As HTMLButtonElement
For Each e In page.getElementsByTagName("span")
If e.innerText = "10.180.9.1" Then
Set c = e
c.click
c.parentElement.click
End If
Next
End Sub
Sub-internet\u explore()
Dim ie作为InternetExplorer
将页面变暗为HTMLDocument
设置ie=CreateObject(“internetexplorer.application”)
可见=真实
ie.Navigate2“网页”
在ie.readyState readyState\u完成时执行此操作
多芬特
环
'在这里,我输入代码进行登录,并通过填写输入框并单击搜索按钮进行搜索
'等待搜索加载
在ie.readyState readyState\u完成时执行此操作
多芬特
环
设置页面=即文件
将e调暗为HTMLElementCollection
Dim c作为HTMLButtonElement
对于page.getElementsByTagName(“span”)中的每个e
如果e.innerText=“10.180.9.1”,则
集合c=e
c、 点击
c、 parentElement.click
如果结束
下一个
端接头
这是我搜索的内容和我单击的按钮:
我得到的结果(表)以及为什么我需要单击该跨度元素,因为我得到了许多结果:
10.180.9.1
运行代码时实际会发生什么?您可能需要在代码中的某些点添加等待,特别是当您正在等待“AJAX”类型的事件完成时:使用现有的readystate
循环无法检测到该事件。您好,Tim,代码会运行,甚至会找到该元素,但当它单击时,什么也没发生。你有没有试着在运行单击之前在那条线上暂停几秒钟?如果这没有改变任何事情,那么在没有访问页面的情况下很难提出任何建议。