我在循环遍历 div 元素时遇到问题,我不知道该怎么做。该代码非常有效。
本质上,我可以访问一个网站,并想通过链接从该网站下载内容。我的代码查找并找到元素 X 并继续单击该元素。
问题是,元素 X 重复了很多次,因此例如 .getElementByClassName("AssetLinkText") 在 HTML 代码中重复了几次,导致提取下载第一个“AssetLinkText”。
我认为解决方案是通过 HTML 进行搜索,即针对每个循环并查找带有内部文本“下载完整证券列表”的标签。但是,我不确定如何执行此操作。
Sub anotherAttempt()
'DECLARE VARIABLES
Dim browser As InternetExplorer
Dim document As HTMLDocument
Set browser = New InternetExplorer
Dim div
'MAKE VIS AND NAV
browser.Visible = True
browser.Navigate "https://etf.deutscheam.com/GBR/ENG/ETF/LU1221100792/-/DAX-UCITS-ETF-(DR)-Income"
'MULTITHREAD
Do While browser.Busy And Not browser.readyState = READYSTATE_COMPLETE
DoEvents
Loop
'PERFORM ACTIONS
Set document = browser.document
Dim anchorElement As HTMLAnchorElement
Set anchorElement = document.getElementsByClassName("AssetLinkText")
'CHECK FOR HOLDINGS LINK
anchorElement.Click
End Sub
最佳答案
这对我有用。
Dim divs As Object
Dim div As Object
// get all div element in DOM
Set divs = IE.document.getElementsByTagName("div")
// loop through all div elements
For Each div In divs
// do things here
// e.g. div.innerHTML = "hello"
Next div
关于javascript - 使用 VBA 遍历 DIV 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39448831/