Есть ли более быстрый способ, чем For Next l oop, щелкнуть соответствующий элемент веб-браузера? - PullRequest
0 голосов
/ 19 апреля 2020

vb. net 2019 - управление веб-браузером

Итак, я выделил веб-элемент, который нужно щелкнуть перед рукой, поэтому моя программа захватывает весь текст элемента и выполняет итерацию для l oop, чтобы найти совпадение и щелкнуть по нему в веб-браузере.

 For Each element As HtmlElement In Form1.webclient.Document.All
        If element.OuterHtml.ToString = itemchunk Then
            element.InvokeMember("Click")
        End If
 Next

itemchunk может быть примерно таким:

<span>I'm Feeling Trendy</span>

или

<input name="btnK" class="gNO89b" aria-label="Google Search" type="submit" value="Google Search" data-ved="0ahUKEwihndSp3PPoAhUEUK0KHS7gAfMQ4dUDCAw">

или почти любым другим элементом Вы можете подумать о

Невозможно щелкнуть элемент во время начального построения элемента.

Я знаю, что с чем-то, что имеет идентификатор или имя, можно получить быстрый и прямой доступ, но есть более быстрый способ найти известный элемент в веб-браузере, кроме использования вышеупомянутого для l oop? (ie Я чувствую себя модно)

я должен использовать фоновый рабочий, пока он перебирает сотни элементов? (это вешает меня во время l oop, так что я, вероятно, должен в любом случае)

действительно ли быстрее разбить и классифицировать элементы перед рукой? (оставляя вас с небольшой группой для повторения)

Кто-нибудь придумает что-нибудь быстрее?

(имейте в виду, что элементы были уже изолированы до того, как их можно было нажимать, а потом можно было подобрать, а потом сопоставить на обновленной странице)

edit: я также пытался отслеживать элемент от точечного объекта, но, похоже, он не работает?

кто-нибудь знает, если элемент "из точка "значения меняются, если браузер прокручивается или изменяется размер?

...