Конкретный ответ:
Для данного примера ссылки приведен код, который будет расширять скользящее меню и мигать / выводить текст каждой ссылки.
Спящий режиместь после перехода, так как меню загружается немного.Я просто выбрал 2500 мс из воздуха, и это, казалось, работало каждый раз.Было бы неплохо найти лучший пункт для ожидания.
ie.GoTo("http://www.andrewsellick.com/examples/sliding-side-bar/#");
System.Threading.Thread.Sleep(2500);
ie.Link("sideBarTab").Click();
foreach (ListItem currItem in ie.Div("sideBarContents").Lists[0].ListItems)
{
currItem.Links[0].Flash(2);
Console.WriteLine("link text: " + currItem.Links[0].Text);
}
Примечание: строго говоря, вам даже не нужно расширять слайд-меню, поскольку ссылки существуют и просто скрыты.Расширение меню - хорошая идея, так как это то, что будет делать пользователь.
Используется: IE8 и WatiN 2.1
Общий ответ
Чтобы получитьДля каждой ссылки на данной странице вы должны выполнить итерацию Links collection
Пример: (записано из памяти, не проверено)
foreach (Link currLink in ie.Links)
{
//do stuff
}
С этим вы будетестолкнуться с проблемами некоторых ссылок огня всплывающих окон.Некоторые ссылки расширяют меню.Некоторые ссылки ведут на разные страницы.Некоторые ссылки и т. Д. И т. Д. Кроме того, вам нужно будет перебирать каждый фрейм, так как я считаю, что они рассматриваются как отдельная область, и вышеприведенный foreach не будет видеть никаких ссылок в фреймах.Относительно общее решение вполне возможно, ЕСЛИ ваше приложение написано с хорошими именами / CSS-классификацией / чем-то таким, что вы можете знать, что будет делать ссылка, основываясь на ее названии / CSS-классе / чем-то.