Встала задача найти определенный объект, с заранее известными свойствами, но не хранящийся в репозитории: объект может быть произвольным, подобных объектов может быть очень много. У объекта известно:
- Class Name = Link // это гиперссылка
- text == innerttext == outertext // название модели, например, телефона, которое задано параметром
Для отыскания объекта использовал несколько подходов
Первый:
Set decrModelHyperLink = Description.Create decrModelHyperLink("name").Value = tmpModelName decrModelHyperLink("href").RegularExpression = False decrModelHyperLink("micclass").Value = "Link" decrModelHyperLink("micclass").RegularExpression = False Set hyperLinkModelList = pgProduct.ChildObjects(decrModelHyperLink) For i = 0 to (hyperLinkModelList.Count() - 1) Set hyperLinkModel = hyperLinkModelList(i) hyperLinkModel.WaitProperty "visible", True, (intDelaySeconds * 1000) CheckAvailability hyperLinkModel, "Hyperlink on model " & tmpModelName hyperLinkModel.Click NextВызывает ошибку в строке Click. Параметры гиперрссылки неопределены (т.е. GetROProperty(<smth>) выдвет Empty
Второй
Set decrModelHyperLink = Description.Create decrModelHyperLink("Class Name").Value = "Link" decrModelHyperLink("text").Value = tmpModelName decrModelHyperLink("outertext").Value = tmpModelName decrModelHyperLink("innertext").Value = tmpModelName Set hyperLinkModelList = pgProduct.ChildObjects(decrModelHyperLink) For i = 0 to (hyperLinkModelList.Count() - 1) NextНе находит нужную гиперссылку вообще (хотя на странице она есть)
Третий
Set decrModelHyperLink = Description.Create decrModelHyperLink("text").Value = tmpModelName Set hyperLinkModelList = pgProduct.ChildObjects(decrModelHyperLink) For i = 0 to (hyperLinkModelList.Count() - 1) Set hyperLinkModel = hyperLinkModelList(i) NextВызывает ошибку во вложенной строке цикла Set, хотя найденный объект -- всего один. Если верить spy, то это -- именно эта ссылка, иначе их должно быть больше.
На странице гиперссылка присутствует (смотрел Object Spy), свойства оттуда и брал. Подскажите, в чем может быть проблема
Edit: процедура CheckAvailability проверяет свойство Exist объекта и пишет в Report либо micPass либо micFail
Edit 2: на самом деле нужный набор гиперссылок содержится в WebTable, но я не могу ее накликать из Object Spy: я могу добавить только самый нижний объект иерархии, но ткнуть именно в таблицу наугад не получается из-за смещения