Excel 对象HtmlLevel不单击IE11
将转到学校页面并单击like按钮。我将转到页面对象HtmlLevel功能,但不单击按钮。我的命令在IE10中运行,但在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
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