СПОЛЬЗУЕТСЯ: WebDriver, С#
СЦЕНАРИЙ:
- Переходим на сайт
- Парсим список ссылок из элементов страницы по средствам By.CssSelector(a[href*=ibm])
- Получаем список в котором текстовые поля некоторых позиций пустые (см. скрин).
- Удаляем пустые позиции.
Для парсинга использую код
КОД:
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>'
ВОПРОС
- Как удалить пустые позиции из списка с помощью "RemoveAll"?
- Какие есть более эффективные способы для реализации данной задачи (удаление строк из списка по критерию)?