Используется:
- WebDriver, С#
СЦЕНАРИЙ
1. Переходим на сайт
2. Создаём список ссылок из элементов страницы, по средствам By.CssSelector(a[href*=ibm])
3. Получаем список в котором текстовые поля некоторых позиций пустые.
Проходим по списку с помощью GetAttribute и видим, что ссылки во всех позициях есть.
В пустых и заполненных позициях списка.
ПРИМЕР
Если рассматривать список, который показан на скрине, то переход осуществляется только позициям поз. 2 и поз. 9, где есть текст “IBM®” и “Marketplace”
КОД
List<IWebElement> link;
private void button1_Click(object sender, EventArgs e)
{
link = browser1.FindElements(By.CssSelector(a[href*=ibm])).ToList(); // собираме все ссылки со страницы в список
}
private void button2_Click(object sender, EventArgs e)
{
int a = Convert.ToInt32(textBox17.Text); // Вводим в textBox17 порядковый номер ссылки по списку
int b = a - 1;
String c = link[b].Text;
textBox1.AppendText("Кликаем по Позиции № " + a.ToString() + " " + c + "\r\n");// заносим информацию в textBox1
linkr[b].SendKeys(OpenQA.Selenium.Keys.Return); // Кликаем по позиции
}
ВОПРОС
Почему код не выполняет переход по ссылкам позиций из списка, которые не имеют текстовых описаний ?