C# Selenium-通过元素循环检查集合是否有值
我将具有特定值的DOM元素作为文本在下面的情况下,它是“Uno”C# Selenium-通过元素循环检查集合是否有值,c#,selenium,selenium-webdriver,selenium-chromedriver,C#,Selenium,Selenium Webdriver,Selenium Chromedriver,我将具有特定值的DOM元素作为文本在下面的情况下,它是“Uno” <span class="custom-field-value" xpath="1">Uno</span> Uno 元素具有相同的类,但仅在提到的文本值中不同 我想检查特定Webelement的文本是否在至少一个span元素中可见 已完成的步骤: 定义IWebElements 创建的元素文本值列表,我将用于比较: IList<string> c
<span class="custom-field-value" xpath="1">Uno</span>
Uno
元素具有相同的类,但仅在提到的文本值中不同
我想检查特定Webelement的文本是否在至少一个span元素中可见
已完成的步骤:
- 定义IWebElements
- 创建的元素文本值列表,我将用于比较:
IList<string> customFields = new List<string> { customField1, customField2, customField3, customField4 };
IList customFields=新列表{customField1、customField2、customField3、customField4};
- 我对比较法有问题。我需要将列表传递给方法,从每个列表Webelement.Text值获取,然后循环遍历所有元素,检查每个文本是否等于和一个列表位置。我想最好的办法是把loop和linqu混在一起
public bool ValidateCustomFields(IList<string> customFields) { for (int i = 0; i < CartCustomFields.Count; i++) { CartCustomFields.ElementAt(i).Text. CartCustomFields.Any(element => element.FindElement(By.XPath(".")).Text) } }
public bool ValidateCustomFields(IList customFields) { for(int i=0;i
element.FindElement(By.XPath(“.”).Text) } }
//span[@class = 'custom-field-value' and text() = 'YOUR_TEXT']
然后检查列表是否为空?但如何传递IWebElements中的每个列表元素,然后进行比较?如果您的目标只是查找具有该文本的webElements,那么您就不必进行比较了……或者我遗漏了什么?您创建的customFields数据的顺序是否与w.r.t网页相同?我认为这应该适用于您
CartCustomFields.Any(element=>element.FindElement(By.XPath(“.”)。Text==customFields[I])