Объект htmldivelement не нажимает на IE11 - PullRequest
0 голосов
/ 13 февраля 2019

Перейдите на страницу школы и нажмите на кнопку «Мне нравится».Я иду на страницу объекта 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 она не работает.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

В дополнение к ответу QHarr, ваш Do While...Loop не совсем прав.

  1. Вы должны сделать что-то в цикле, иначе вы просто увеличите нагрузку на процессор.Вы должны хотя бы добавить DoEvents между ними, чтобы окна могли обрабатывать другие программы / сообщения.
  2. Не похоже, что вы ожидаете завершения загрузки страницы.Попробуйте добавить Or ReadyState < READYSTATE_COMPLETE к условию цикла.

Соединив его, цикл должен выглядеть следующим образом:

Do While IE.Busy Or IE.ReadyState < READYSTATE_COMPLETE ' = 4
    DoEvents
Loop

Вот некоторые другие ссылки, которые могут помочь:

Отказоустойчивость Подождите, пока IE загрузится

Как дождаться загрузки страницы после нажатия

0 голосов
/ 13 февраля 2019

Я не знаю, работает ли это или требуется какая-либо форма входа в систему.Я не могу вручную нажать как.

Вот 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...