ИСПОЛЬЗУЕТСЯ: WebDriver, С#
СЦЕНАРИЙ:
1. Переходим на сайт
2. Парсим список ссылок из элементов страницы по средствам By.CssSelector(a[href*=ibm])
3. Получаем список в котором текстовые поля некоторых позиций пустые (см. скрин).
4. Удаляем пустые позиции.
Для парсинга использую код
КОД:
List<IWebElement> link;
private void button1_Click(object sender, EventArgs e)
{
link = browser1.FindElements(By.CssSelector(a[href*=ibm])).ToList(); // собираем все ссылки со страницы в список
}
Для удаления пустых позиций использую код
КОД:
for (int i = 0; i < link.Count; i++)
{
String c = link[i].Text;
if (c.Equals(""))
{
link.RemoveAt(i);
}
}
Хотел попробовать удаление с помощью RemoveAll,
link.RemoveAll("");
но выражение в скобках - "" подчёркивается красным и выдаёт ошибку:
Argument 1: cannot convert from 'string' to 'System.Predicate<OpenQA.Selenium.IWebElement>'
ВОПРОС
1. Как удалить пустые позиции из списка с помощью “RemoveAll”?
2. Какие есть более эффективные способы для реализации данной задачи (удаление строк из списка по критерию)?