Selenium C#:从多个同名div中获取文本

Selenium C#:从多个同名div中获取文本,c#,selenium,selenium-webdriver,automated-tests,C#,Selenium,Selenium Webdriver,Automated Tests,我正在尝试从聊天中的所有线程中获取文本,它们的名称相同。我打算将它们全部放在txt文档中。 e、 g Text1 ..... 文本2 我试图使用循环从所有div中获取文本,但无法在循环中获取属性 IReadOnlyCollection<IWebElement> chatRow = driver.FindElement(By.XPath("//*[@data-tid='message']/div")); for (int i = 0; i < chatRow.Count; i+

我正在尝试从聊天中的所有线程中获取文本,它们的名称相同。我打算将它们全部放在txt文档中。 e、 g

Text1
.....
文本2
我试图使用循环从所有div中获取文本,但无法在循环中获取属性

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

有没有一种不用循环的方法?或者如何从循环中获取属性?

问题是您使用的是
FindElement
而不是
FindElements

替换

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

IReadOnlyCollection chatRow=driver.findelelements(By.XPath(“/*[@data tid='message']/div”);
for(int i=0;i
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");
}