Html 如何使用VBA在Internet Exlorer中单击跨度元素

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

我试着点击一个我用用户名和密码访问过的网站上的span元素,我已经尝试了我能想象的所有可能的方式(大多数都在这个网站上找到)。也许你可以帮我,这是我使用的代码:

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,代码会运行,甚至会找到该元素,但当它单击时,什么也没发生。你有没有试着在运行单击之前在那条线上暂停几秒钟?如果这没有改变任何事情,那么在没有访问页面的情况下很难提出任何建议。