C#:Selenium getting :: before伪选择器数据

时间:2016-07-18 18:47:43

标签: c# css selenium css-selectors

我在接收伪选择器数据时遇到了一些麻烦。

driver.FindElement(By.CssSelector(selector));

我的选择器字符串基本上是button:nth-child(2),工作正常, 但我也需要获取伪数据button:nth-child(2)::before 不太正常,它只是保持为空。

我的语法不正确,还是我应该使用不同的方法或其他方法?

1 个答案:

答案 0 :(得分:1)

Selenium API不支持伪元素,但您可以使用JavaScript获取当前样式的属性:

var elem = driver.FindElement(By.CssSelector(...));

var pseudo_content = driver.ExecuteScript(
    "return window.getComputedStyle(arguments[0],':before').getPropertyValue('content');"
    , elem);