Я пытаюсь опубликовать некоторую информацию на веб-странице, а затем вернуть другую информацию после публикации и нажатия кнопки «Вход», и это мой код
Sub Test()
Dim driver As New WebDriver
Dim x As Variant
Dim ele As SelectElement
Dim s As String
With driver
.Start "Chrome", "https://studea.emis.gov.eg"
.Wait (5000)
sBack:
.Get "/std_data_mail.aspx"
.FindElementById("ContentPlaceHolder1_TextBox3").SendKeys "30904201602611"
Set ele = .FindElementById("ContentPlaceHolder1_Dropyear").AsSelect
ele.SelectByValue 2009
Set ele = .FindElementById("ContentPlaceHolder1_Dropmonth").AsSelect
ele.SelectByIndex 4
Set ele = .FindElementById("ContentPlaceHolder1_DropDay").AsSelect
ele.SelectByValue 20
Set ele = .FindElementById("ContentPlaceHolder1_DropDownList5").AsSelect
ele.SelectByIndex 12
Set ele = .FindElementById("ContentPlaceHolder1_DropDownListsex").AsSelect
ele.SelectByIndex 1
.FindElementById("ContentPlaceHolder1_Button2").Click
.Wait (5000)
'.FindElementById("").SendKeys ""
On Error Resume Next
s = Empty
s = .FindElementByXPath("/html/body/span/h1").Text
On Error GoTo 0
If Left(s, 12) = "Server Error" Then
If MsgBox("Server Error. Would You Like To Try Again?", vbYesNo) = vbYes Then GoTo sBack Else Exit Sub
Else
'THIS PART DOESNOT RETURN ANYTHING
Debug.Print .FindElementById("ContentPlaceHolder1_txtsdname").Text
Debug.Print .FindElementById("ContentPlaceHolder1_txtsdid").Text
Debug.Print .FindElementById("ContentPlaceHolder1_txtsdschool").Text
End If
Stop
End With
Stop
End Sub
Код запускается, и когда возникает ошибка сервера, Появится окно сообщения, в котором пользователю будет предложено повторить попытку. И когда есть ответ, я не получил данных, хотя страница загружена в драйвере. Я прокомментировал строки, в которых у меня возникла проблема.