Как нажать «кнопку», если функция GetElementById ничего не возвращает - PullRequest
0 голосов
/ 01 октября 2019

Я делаю простую программу для сбора информации из электронной почты со страницы «Одноразовая электронная почта» (www.yopmail.com), когда я пытаюсь нажать «кнопку», чтобы открыть электронную почту, используяфункции GetElementById и InvokeMember, это не работает, программа говорит, что GetElementById ничего не возвращает, и программа останавливается.

Я пробовал на других страницах, используя GetElementById и InvokeMember ("click"), и это работает, но, я не уверен, почему не работает в этом случае

Когда я проверяю элемент, он показывает следующее:

<div class="m" onclick="g(2,0);" id="m2"><div class="um"><a class="lm" href="m.php?b=hello&amp;id=me_ZGxkZQNkZGt1ZQH4ZQNkZQN5ZGN5ZN=="><span class="lmfd"><span class="lmh">13:50</span><span class="lmf">[SPAM]PINTRILL</span></span><span class="lms">PT | Snoopy &amp; Friends are Back.</span></a></div></div>

    wb.ScriptErrorsSuppressed = True

    wb.Navigate("www.yopmail.com?hello")

    wait(5)

    While fullyLoaded = False

        If wb.Url.Host <> "www.yopmail.com?hello" Then
            MsgBox("Yopmail 'finished' loading")
            wait(2)
            fullyLoaded = True
        Else
            MsgBox("inside while")
            wait(5)
        End If
    End While  
    wb.Document.GetElementById("m2").InvokeMember("click")

Когда программа останавливается, она показывает мне следующее:

System.NullReferenceException: 'Ссылка на объект не установлена ​​для экземпляра объекта.'

System.Windows.Forms.HtmlDocument.GetElementById (...) ничего не вернул.

...