繁体   English   中英

打印 C# 列表中的元素文本

[英]Print text of elements from an list in C#

我必须打印 web 元素的所有文本,所以我将 web 元素存储在列表“测试”中,然后获取每个 web 元素的文本并继续添加到其他列表“标题”。 现在,当我尝试打印列表“标题”的所有元素时。但只打印第一个元素的文本。 请帮我找出我哪里出错了。

public void PrintText() 
{            
    var Title = new List<string>();
    IList <IWebElement> test=Controls.GetWebElementList(X-path);

    foreach (var g in test)
    {
        Title.Add(Controls.GetText(x-path));           
    }

    foreach (var h in Title)
    { 
        Console.WriteLine(h);
    }
}

尚不清楚Controls.GetWebElementList()是如何定义的。

理想情况下,要提取文本,您必须为VisibilityOfAllElementsLocatedBy()诱导WebDriverWait ,并且可以使用以下定位器策略

IList <IWebElement> test = new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.XPath("X-path")));

你的代码看起来不错。

尝试验证第一个列表以打印它们的值。 在此处输入图像描述

然后再次运行,也许你的第一行只有一个值。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM