Как проверить текст на одной странице, а затем подтвердить, что это тот же текст на другой странице, с помощью Selenium C #? - PullRequest
0 голосов
/ 29 мая 2019

Например: войдите на веб-страницу с текстом (неизвестным пользователю), а затем убедитесь, что он имеет такой же текст на другой странице.

1 Ответ

0 голосов
/ 30 мая 2019

Вы можете выбрать что-то вроде:

  1. Найти Тело HTML объект для первой страницы, используя XPath , например:

    driver.FindElement(By.XPath("//body"))
    
  2. Получить свойство innerText значение тела HTML
  3. Разделить его на отдельные строки, используя разделитель строк символ
  4. Выполнитьшаги 1 - 3 для второй страницы
  5. Перебирать строки, извлеченные из первой страницы, и искать совпадения в строках со второй страницы
  6. Делать то, что вам нужно, с результатами

Пример кода:

driver.Url = "https://stackoverflow.com";

string firstPageText = driver.FindElement(By.XPath("//body")).GetAttribute("innerText");
HashSet<string> firstPageLines = new HashSet<string>(firstPageText.Split('\n'));

driver.Url = "/9609531/kak-proverit-tekst-na-odnoi-stranitse-a-zatem-podtverdit-chto-eto-tot-zhe-tekst-na-drugoi-stranitse-s-pomoschy-selenium";

string secondPageText = driver.FindElement(By.XPath("//body")).GetAttribute("innerText");
HashSet<string> secondPageLines = new HashSet<string>(secondPageText.Split('\n'));

foreach (string line in firstPageLines) {
    if (secondPageLines.Contains(line)) {
        Console.WriteLine("This line is present in both pages: " + line);
    }
}

Пример вывода:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...