Веб-скрейпинг в Google Alerts - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь автоматизировать некоторые действия в Google Alerts, уже могу удалить указанное c предупреждение, но у меня возникают проблемы при добавлении нового предупреждения с указанными c параметрами.

Я хотел бы изменить настройку с раскрывающегося списка «Сколько» на «Все результаты» (стандартные - только лучшие результаты).

И «Источник» с Automati c на Новости, блоги, веб

К сожалению, я не могу заставить его работать.

Вот что у меня есть:

Set objIE = CreateObject("InternetExplorer.Application")
WebSite = "https://www.google.com/alerts"
With objIE
.Visible = False
.Navigate WebSite

Do While .Busy Or .readyState <> 4
DoEvents
Loop

Set Element = .document.getElementsByTagName("input")
Element.Item(0).Value = "test"

Do While .Busy Or .readyState <> 4
DoEvents
Loop

.document.getElementsByClassName("show_options")(0).Click

Application.Wait (Now + TimeValue("0:00:02"))

Set Element = .document.getElementById(":6")
'Element.Item(0).Value = "Ver todos"

Последняя строка, которую я получаю "Объект не поддерживает это свойство или метод"

Также пробовал

'Element.SelectedIndex = 1

и многие другие, которые не работали.

Мне удалось заставить его работать с SendKeys, хотя он не работает, если видимость для окна IE установлено значение false, и я бы предпочел не использовать SendKeys

.document.getElementsByClassName("goog-flat-menu-button jfk-select volume_select goog-inline-block")(0).Click

Application.Wait (Now + TimeValue("0:00:01"))
Application.SendKeys "{DOWN}", True
Application.Wait (Now + TimeValue("0:00:01"))
Application.SendKeys "~", True

Это элемент, который я пытаюсь получить для изменения значения:

   <div class="goog-inline-block goog-flat-menu-button-caption" id=":6" role="option" aria-setsize="2" aria-posinset="1">Somente os melhores resultados</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...