Селен C#: получение текста из нескольких элементов с одинаковым именем - PullRequest
1 голос
/ 25 февраля 2020

Я пытаюсь получить текст из всех тем чата, и они имеют одно и то же имя. например,

<div data-tid="message" dir="auto"><div>Text1</div></div>
.....
<div data-tid="message" dir="auto"><div>Text2</div></div>

Я пытаюсь использовать al oop для получения текста из всех элементов div, но не могу получить атрибут в пределах l oop.

IReadOnlyCollection<IWebElement> chatRow = driver.FindElement(By.XPath("//*[@data-tid='message']/div"));
for (int i = 0; i < chatRow.Count; i++)
{
    GetAttribute("innerHTML");
}

Есть ли способ сделать это без Аль oop? или как получить атрибуты изнутри l oop?

1 Ответ

1 голос
/ 25 февраля 2020

Проблема в том, что вы используете FindElement вместо FindElements

Заменить

IReadOnlyCollection<IWebElement> chatRow = driver.FindElement(By.XPath("//*[@data-tid='message']/div"));

на

IReadOnlyCollection<IWebElement> chatRow = driver.FindElements(By.XPath("//*[@data-tid='message']/div"));
for (int i = 0; i < chatRow.Count; i++)
{
    chatRow.ElementAt(i).GetAttribute("innerHTML");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...