繁体   English   中英

使用VBA的IE屏幕抓取

[英]IE Screenscraping using VBA

我试图单击网页中的“下一步”链接,但link.innerHTML找不到“下一步”

HTML代码如下所示

a href =“ queue_monitor.do?task_name=WAITCUST&pager_offset=250&actionType=next”>
下一个
/ a>

当我从网页上编辑链接以删除下一行和它起作用的空格时...

For Each ie In objshell.Windows
    If TypeName(ie.Document) = "HTMLDocument" Then
        If InStr(ie.Document.Title, "Monitor") Then
            ie.Visible = False
            ie.Visible = True

            Set html = ie.Document
            Set ElementCol = html.getElementsByTagName("a")

                For Each link In ElementCol

                    If TRIM(link.innerHTML) = "Next" Then

                        link.Click

                            Application.Wait Now + TimeValue("00:00:04")
                            Application.SendKeys ("^a")
                            Application.Wait Now + TimeValue("00:00:04")
                            Application.SendKeys ("^c")
                            Application.Wait Now + TimeValue("00:00:04")
                            ThisWorkbook.Sheets("WAITCUST Raw").Range("A10000").End(xlUp).Offset(3, 0).PasteSpecial
                            Application.Wait Now + TimeValue("00:00:07")
                    End If

                Next link

        End If
    End If
Next ie

有什么建议么?

您可以使用CSS选择器通过href值的末尾作为目标元素的目标:

[href$='actionType=next']

这是一个属性选择器,用于查找其值以actionType=next结尾的href$

ie.document.querySelector("actionType=next").Click

HTML上的CSS查询:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM