Перейти к содержимому

Фотография

Как на странице сайта определить ссылку по фрагменту текста и без учёт

C# WebDriver Selenium GoogleChrome

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Selen34

Selen34

    Новый участник

  • Members
  • Pip
  • 41 сообщений

Отправлено 12 ноября 2016 - 19:37

Имеется код со следующим сценарием:

1. Поиск ссылок на странице

2. Если текст содержит "программа на C#", то код нажимает на ссылку.

private void button4_Click(object sender, EventArgs e)
        {
            List<IWebElement> Element = Browser.FindElements( By.CssSelector("#tabnews_newsc a") ).ToList();
 
            for (int i = 0; i < Element.Count; i++ )
            {
                String s = Element[i].Text;                
 
                if (s.Contains("программа на C#")) // если текст СОДЕРЖИТ
                {
                    Element[i].Click(); // КЛИК по новости, которая СОДЕРЖИТ искомый текст
                    break;
                }
            }
        }

ВОПРОС

Как сделать, чтобы поиск осуществлялся без учёта регистра текста для поиска?

Т.е. если текст содержит "программа на C#", то переход осуществляется, а если текст содержит "Программа на C#" (слово "Программа" с большой буквы "П" ), то перехода по ссылке не происходит.


  • 0

#2 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 12 ноября 2016 - 20:02

Ну как вариант:

s.toLowerCase().contains("программа на C#".toLowerCase())

  • 1

#3 Selen34

Selen34

    Новый участник

  • Members
  • Pip
  • 41 сообщений

Отправлено 13 ноября 2016 - 11:41

При использовании предложенной вами строчки появляется ошибка.

 

ОШИБКА

"'string' does not contain a definition for 'toLowerCase' and no extension method 'toLowerCase' accepting a first argument of type 'string' could be found (are you missing a using directive or an assembly reference?) "

 

Ссылка на скрин http://prntscr.com/d6o82a

 

ВОПРОС

Не могли бы вы подсказать как её исправить?

 

 

PS

Только осваиваю  WebDriver Selenium заранее прошу извинить, если вопрос элементарный


  • 0

#4 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 13 ноября 2016 - 15:40

Да, мой фейл, поискал в MSDN - в C# эта функция называется ToLower()


  • 1



Темы с аналогичным тегами C#, WebDriver, Selenium, GoogleChrome

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных