Невозможно проверить наличие любого элемента, удаляющего жестко заданную задержку - PullRequest
0 голосов
/ 08 мая 2018

Я написал скрипт в vba вместе с selenium для запуска поиска на каком-то торрент-сайте. Мой скрипт работает нормально, но проблема в том, что мне пришлось использовать hardcoded delay в моем скрипте, чтобы сделать его успешным. Что я хочу сделать сейчас, так это проверить доступность нужного элемента с помощью некоторого цикла или любого другого типа, выбив жестко заданную задержку из моего сценария. Любая помощь в этом будет высоко оценена.

Это моя попытка (рабочая):

Sub SearchItem()

    With New ChromeDriver
        .get "https://torrentz2.eu/"

        Application.Wait Now + TimeValue("00:00:10")  ''I wish to shake this hardcoded delay off
        .FindElementByCss("#thesearchbox").SendKeys ("Udemy")
        .FindElementByCss("#thesearchbutton").Click
    End With
End Sub

Ссылка для добавления:

Selenium Type Library

1 Ответ

0 голосов
/ 08 мая 2018

Кажется, уже нашли решение. Существует ссылка , ведущая к github, где Florent B. предоставил отличное решение о том, как скрипт должен ждать, пока нужный элемент не станет доступен.

Вот как должен выглядеть скрипт:

Sub SearchItem()

    With New ChromeDriver
        .get "https://torrentz2.eu/"
        .FindElementByCss("#thesearchbox", timeout:=10000).SendKeys "Udemy"  ''wait for the element upto 10 seconds
        .FindElementByCss("#thesearchbutton").Click
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...