Я пишу VBScript, который автоматически взаимодействует с некоторыми веб-страницами. У меня возникли проблемы на последнем этапе, когда сценарий должен нажать на ссылку, чтобы сделать заказ. Ссылка для каждого времени будет доступна, только если это время бесплатно. Идея моего кода состоит в том, чтобы просто выбрать первый доступный раз (изначально я думал, что смогу сделать это, используя Mid () и GetElementId, поскольку я знаю первые 7 символов каждого идентификатора ссылки, но не смог заставить это работать). Массив содержит идентификаторы для всех возможных времен, доступных за день. Некоторые из них уже будут заняты, так что ID больше не будет существовать в форме.
У меня 2 проблемы: -
1) Ни getElementBy Id, ни Document.All.Item (). Команды щелчка не примут элемент из массива - я получаю ошибку времени выполнения Object Required.
2) Если getElementId не находит подходящего идентификатора, он просто выдает ошибку «Требуется объект». Я не ожидал этого, я думал, что моя переменная elem будет нулевой или нулевой, и что я могу проверить это.
Кто-нибудь может дать мне указатели?
'This is a shortened version of my array- there are lots more times!
Times(0)="bookBtn0810"
Times(1)="bookBtn0818"
Times(2)="bookBtn0826"
Dim TimeAvail
Dim i
Dim elem
TimeAvail = "No"
i = 0
Do While (TimeAvail = "No") or (i<3)
Set elem = IE.Document.GetElementById(Chr(34) & Times(i) & Chr(34)) 'Chr(34) is to add ""
if elem is nothing then
TimeAvail = "No"
i=i+1
else
TimeAvail = "Yes"
IE.Document.All.Item(Chr(34) & Times(i) & Chr(34)).click
end if
Loop