Excel 对象HtmlLevel不单击IE11

Excel 对象HtmlLevel不单击IE11,excel,vba,web-scraping,internet-explorer-11,Excel,Vba,Web Scraping,Internet Explorer 11,将转到学校页面并单击like按钮。我将转到页面对象HtmlLevel功能,但不单击按钮。我的命令在IE10中运行,但在IE11中不起作用 Set hIE = CreateObject("InternetExplorer.Application") hURL = "http://mukerremalikayanilkokulu.meb.k12.tr/icerikler/eglen-dusun-bul_6506730.html" With hIE .Navigate hURL

将转到学校页面并单击like按钮。我将转到页面对象HtmlLevel功能,但不单击按钮。我的命令在IE10中运行,但在IE11中不起作用

Set hIE = CreateObject("InternetExplorer.Application")   
hURL = "http://mukerremalikayanilkokulu.meb.k12.tr/icerikler/eglen-dusun-bul_6506730.html"

With hIE
    .Navigate hURL
    .Visible = True

    Do While hIE.Busy
    Loop
End With

Set haberss = hIE.document.getElementsByClassName("begen")
For Each haberbb In haberss
    If haberbb = "begen" Then
        Do While hIE.Busy
        Loop
        haberbb.Click
        Set hIE = hIE.Quit
        Exit For
    Else
        Do While hIE.Busy
        Loop
        haberbb.Click
        Set hIE = hIE.Quit
        Exit For
    End If

haberbb按钮在IE10上工作,但在IE11上不工作。

我不知道这是否正常,或者需要某种形式的登录。我不能像这样手动单击

以下是3种编码方式:

Ie.document.querySelector(".begen").click

Ie.document.querySelector(".begen").FireEvent "OnClick"

Ie.document.parentWindow.execScript "document.querySelector('.begen').click;"

除了QHarr的答案之外,您的Do-While…循环也不太正确

你应该在循环中做一些事情,否则你只会增加CPU的使用率。您至少应该在两者之间添加DoEvents,以允许windows处理其他程序/消息。 看起来您并不是在等待页面加载完成。尝试向循环条件添加或ReadyState
Do While IE.Busy Or IE.ReadyState < READYSTATE_COMPLETE ' = 4
    DoEvents
Loop
以下是一些可能有帮助的其他参考资料:


请注意,If语句If haberbb=begen Then没有任何意义。它在上运行的代码与在其他上运行的代码完全相同!谢谢你的回答。我意识到我的错误。但我这样做是为了看看他们的点击是积极的还是消极的ᴇ谢谢你的回答。我会尝试在第一时间通知您。我尝试单击like按钮,可以手动单击它,然后尝试运行@QHarr代码,发现它也适用于我的IE 11。这是测试结果。非常感谢。querySelector解决了我的问题。谢谢你学习了一些新东西。再次感谢。亲爱的Qharr,当我点击按钮时,他们做了类似的增加。我想做的是当我点击时增加10。有办法吗?谢谢你的回答。我将尝试在第一次机会时通知您应用程序。请稍候+时间值0:00:04此命令我想希望yetI听到的就绪状态在i11下不起作用。它实际上改变了工作得很好。也谢谢你。
Do While IE.Busy Or IE.ReadyState < READYSTATE_COMPLETE ' = 4
    DoEvents
Loop