将转到学校页面,然后单击“赞”按钮。我要转到页面对象htmldivelement
功能,不要单击该按钮。我的命令在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上不起作用。
答案 0 :(得分:1)
我不知道该功能是否有效或是否需要某种形式的登录。我无法手动点击喜欢。
这里有3种编码方式:
Ie.document.querySelector(".begen").click
Ie.document.querySelector(".begen").FireEvent "OnClick"
Ie.document.parentWindow.execScript "document.querySelector('.begen').click;"
Option Explicit
Public Sub AttemptClick()
Dim ie As New InternetExplorer
With ie
.Visible = True
.Navigate2 "http://mukerremalikayanilkokulu.meb.k12.tr/icerikler/eglen-dusun-bul_6506730.html"
While .Busy Or .readyState < 4: DoEvents: Wend
.document.querySelector(".begen").FireEvent "onclick"
.document.querySelector(".begen").Click
.document.parentWindow.execScript "document.querySelector('.begen').click();"
Stop
.Quit
End With
End Sub
答案 1 :(得分:0)
除了QHarr的答案,您的Do While...Loop
也不正确。
DoEvents
,以允许Windows处理其他程序/消息。Or ReadyState < READYSTATE_COMPLETE
添加到循环条件中。将其放在一起,循环应类似于:
Do While IE.Busy Or IE.ReadyState < READYSTATE_COMPLETE ' = 4
DoEvents
Loop
以下其他一些参考可能会有所帮助: