当我在一个[VerifyExists]元素上使用CheckBox时,我会收到一个错误,尽管当我使用通过框架生成的XPath时,我可以找到这个元素。
错误消息:
Message: OpenQA.Selenium.NoSuchElementException : Unable to locate element: By.XPath: .//*[normalize-space(@id) = 'active-checker']/descendant-or-self::input[@type='checkbox']Implementation:
[VerifyExists]
[FindById("isCommentRequred-checker")]
public CheckBox<_> RequestsWorklogCommentCheckBox { get; private set; }元素的手动搜索:

发布于 2019-01-25 17:32:18
我想这是因为实际的<input type="checkbox">在页面上是不可见的(或有opacity: 0的)。默认情况下,在控件元素搜索期间,大多数控件通过可见性筛选元素,只留下可见元素。
尝试设置Visibility = Visibility.Any
[FindById("isCommentRequred-checker", Visibility = Visibility.Any)]通常,复选框和单选按钮是不可见的,其他元素会呈现它并接收单击。只需检查HTML,然后尝试使用Atata或纯WebDriver单击它。如果它抛出异常,您可能需要为它实现自定义控件,以单击例如span.control-label元素。
下面是Kendo:https://github.com/atata-framework/atata-kendoui/blob/master/src/Atata.KendoUI/KendoCheckBox%601.cs控件的示例
https://stackoverflow.com/questions/54367669
复制相似问题