无法将视觉上隐藏的元素添加到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

Dom

答案

按className查找元素将失败,因为Selenium将不支持带空格的类名称

假设您编写了正确的xpath,Xpa​​th应该正常工作>>

从问题中您提供了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

JS vs DOM 计时:.remove() 元素在视觉上发生,但遍历仍然包含它

动态添加元素上的 X-Editable 引导插件“隐藏”事件问题

css隐藏页面元素的方法

WPF ComboBox控件隐藏倒三角

scss Sass - Mixins:视觉隐藏元素