无法在selenium webdriver中找到::之前的css选择器元素

use*_*861 6 c# css-selectors selenium-webdriver

我想测试复选框已选中或未选中状态.

这是复选框的html代码

<div classs="input-control checkbox">
<span class="check">
::before
</span>
</div>
Run Code Online (Sandbox Code Playgroud)

::before 是css选择器.

当我将鼠标悬停在复选框时,它会显示webelement as span.check::before

driver.FindElement(By.CssSelector("span.check::before"));
Run Code Online (Sandbox Code Playgroud)

抛出元素未找到异常.

任何帮助将受到高度赞赏.

mut*_*utt 0

我不确定你的确切 html,因为评论提到::after你的示例 html 中没有。根据您的描述,这似乎与下面类似,但不确定这是否是您的具体情况。

我已经使用鼠标移动,然后等待显示修改后的 css/class 的元素。鼠标将移动并悬停到第一个元素,然后等待第二个元素出现在屏幕上。这对于单击然后等待元素出现的情况类似。

悬停代码示例 - 需要匹配您的代码语言和结构......

[Actions Instance goes here].MoveToElement([IWebElementGoesHere]).Perform();
Run Code Online (Sandbox Code Playgroud)

你也可以这样做

[Actions Instance].Click([IWebElementGoesHere]).Perform();
Run Code Online (Sandbox Code Playgroud)

该库的参考:https ://code.google.com/p/selenium/wiki/AdvancedUserInteractions