Нажмите кнопку на веб-странице, используя Selenium Excel VBA для chrome - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь автоматизировать процесс загрузки формы на несколько месяцев с государственного веб-сайта. Мне нужно войти в свою учетную запись, а затем нажать несколько кнопок. По какой-то причине я не хочу использовать автоматизацию IE, поэтому я решил использовать Selenium через Excel VBA для автоматизации Chrome. Я могу войти, но не могу нажимать кнопки после входа в систему. Мой код VBA до сих пор выглядит следующим образом -

Sub Download2A()

Dim obj As New WebDriver
obj.Start "Chrome", ""
obj.Get "https://services.gst.gov.in/services/login"

obj.FindElementById("username").SendKeys ("myloginID")
obj.FindElementById("user_pass").SendKeys ("myPassword")
obj.FindElementById("captcha").Click

Do Until InStr(1, obj.URL, "fowelcome") > 0
    Application.Wait (DateAdd("s", 1, Now))
    DoEvents
Loop

После этого я хочу нажать кнопку, для которой HTML равно

<button type="button" class="btn btn-primary pad-l-50 pad-r-50" onclick="location.href='//return.gst.gov.in/returns/auth/dashboard'"><span title="Return Dashboard">Return Dashboard</span> <i class="fa fa-angle-right"></i></button>

Обратите внимание, что существуют другие кнопки того же класса. Пожалуйста, расскажите, как мне нажать эту кнопку?

1 Ответ

2 голосов
/ 09 мая 2020

Используйте следующую команду xpath для щелчка.

XPATH1 :

obj.FindElementByXPath("//button[.//span[@title='Return Dashboard']]").Click

XPATH2 :

obj.FindElementByXPath("//button[.//span[text()='Return Dashboard']]").Click

Обратите внимание: : подождите, прежде чем взаимодействовать с элементами.

...