无法将视觉上隐藏的元素添加到IList(Selenium,C#)

问题描述 投票:0回答:1

我不确定那些元素是隐藏的,只是类名如此说明。另外,所有的类名都包含空格(也不确定如何处理)。

[我尝试使用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

c# selenium dom selector
1个回答
0
投票

按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/

© www.soinside.com 2019 - 2024. All rights reserved.