我正在创建一个自动化,通过 VBA 将持续近110页。这些页面具有相同的布局。我需要通过“点击”下一步按钮自动从一个页面转到另一个页面。在每个页面的最后,都有一个“按钮”(列表锚点),上面写着“下一页”。问题是源代码不包含可以很容易引用的ID:
的getElementById( “ID”),点击
我打开浏览器。这很好。我尝试过类似的东西,但它不起作用:
Dim ieDoc As Object
Dim links As Object
Dim link As Object
Set ieDoc = ieApp.Document
Set links = ieDoc.Anchors
For Each link In links
If link.innerHTML = "innerHTML" Then
link.Click
Exit For
End If
Next link
我已经尝试了几乎所有我能从stackoverflow找到的东西,但没有任何东西可以满足我的需求。
这是我试图点击的“下一步按钮”的源代码:
<li class="pager-next"><a title="Next page" href="/fi/tyosuhde- edut/kayttokohdehakupage=1&service_type=lunch&keywords=&city=&service=&service_areas=&payment_method=&municipality=&service_coupon_code=&items_per_page=50">seuraava ›</a></li>
我认为问题是ClassName是“li”而不是“a”?
有人可以帮助我吗?
修改
找到了解决方法!!:
Set pages = doc.getElementsByTagName("a")
For Each page In pages
If (page.getAttribute("title") = "Siirry seuraavalle sivulle") Then
page.Click
End If
Next page
答案 0 :(得分:1)
每次刷新都需要继续重置html文档。
刷新后尝试
ieApp.document.querySelector("a[title=""Next page""]").Click
CSS选择器
有关CSS选择器的更多信息:CSS selectors
修改强>
在您的情况下,实际的HTML选择器是
appIE.doc.querySelector("a[title = ""Siirry seuraavalle sivulle""]").Click
请注意"a"
之后没有空格,您需要在点击之间留出足够的时间以允许加载新页面。