从ILST中删除web元素<;IWebElement>;在硒中使用C#
如果出现某些情况,我实际上试图从IList中删除元素,但似乎得到了相同的列表从ILST中删除web元素<;IWebElement>;在硒中使用C#,c#,list,selenium,C#,List,Selenium,如果出现某些情况,我实际上试图从IList中删除元素,但似乎得到了相同的列表.Countnumber。下面是我的代码: [FindsBy(How = How.XPath, Using = "//button[@aria-label='delete']")] private IList <IWebElement> _deleteIcons; ******** SOME CODE HERE ********** for (var i = 0; i<_de
.Count
number。下面是我的代码:
[FindsBy(How = How.XPath, Using = "//button[@aria-label='delete']")]
private IList <IWebElement> _deleteIcons;
******** SOME CODE HERE **********
for (var i = 0; i<_deleteIcons.Count; i++)
{
if (_deleteIcons[i].GetAttribute("disabled").Contains("true"))
{
_deleteIcons.RemoveAt(i);
}
}
Debug.WriteLine(_deleteIcons.Count);
[FindsBy(How=How.XPath,Using=“//button[@aria label='delete']”)
私有IList _deleteIcons;
********这里有一些代码**********
for(var i=0;i这是在for循环之前需要做的事情
_deleteIcons = [CODE_TO_GET_ELEMENETS].ToList()
那么这就行了
或者,您可以使用Linq来实现这一点,而无需此循环:
_deleteIcons = [CODE_TO_GET_ELEMENETS].Where(x => x.GetAttribute("disabled").Contains("true"))
最简单的方法是使用CSS选择器,只选择那些未被禁用的按钮。这样会更快,以后也不需要过滤
"button[aria-label='delete']:not([disabled])"
我也遇到过类似的情况,我使用LINQ查询来重建我正在创建的列表
我知道你已经有了答案,但也只是把它摆出来。两种方法都有效,但你的方法似乎更方便。接受它作为答案。谢谢!