无法将视觉上隐藏的元素添加到IList(Selenium,C#)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将视觉上隐藏的元素添加到IList(Selenium,C#)相关的知识,希望对你有一定的参考价值。
我不确定那些元素是隐藏的,只是类名如此说明。另外,所有的类名都包含空格(也不确定如何处理)。
[我尝试使用CSS选择器,Xpath,ClassName来获取那些元素,并且总是一个且相同-IList
具有0个元素。
IList<IWebElement> input1 = driver.FindElements(By.CssSelector("mat-checkbox-input.cdk-visually-hidden"));
[我想做的是在检查这些复选框之前将它们添加到列表中,然后在此操作之后,将它们添加到另一个列表中并最后声明比较它们。
<input class="mat-checkbox-input cdk-visually-hidden xh-highlight" type="checkbox" id="stages-9999600009-checkbox-input" tabindex="0" aria-checked="false">
<input class="mat-checkbox-input cdk-visually-hidden xh-highlight" type="checkbox" id="stages-89999600000-checkbox-input" tabindex="0" aria-checked="false">
Dom
按className查找元素将失败,因为Selenium将不支持带空格的类名称
假设您编写了正确的xpath,Xpath应该正常工作>>
从问题中您提供了CSS选择器。 CSS选择器的问题是,您忘记在开头添加点。类名应该以点开头,否则css会将其假定为tagName。
您写得像(By.CssSelector("mat-checkbox-input.cdk-visually-hidden")
应为(By.CssSelector(".mat-checkbox-input.cdk-visually-hidden")
引用
https://www.softwaretestingmaterial.com/css-selector-selenium-webdriver-tutorial/
https://css-tricks.com/multiple-class-id-selectors/
以上是关于无法将视觉上隐藏的元素添加到IList(Selenium,C#)的主要内容,如果未能解决你的问题,请参考以下文章
JS vs DOM 计时:.remove() 元素在视觉上发生,但遍历仍然包含它