2016-07-18 4 views
1

의사 선택기 데이터를받는 데 문제가 있습니다.C# : Selenium getting :: before 의사 선택기 데이터

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

내 선택 문자열은 기본적으로 잘 작동 button:nth-child(2), 하지만 나는 또한뿐만 아니라 의사 데이터를 얻을 필요 button:nth-child(2)::before 는 그냥 널 남아 꽤 작동하지 않습니다.

내 구문이 올바르지 않습니까? 아니면 다른 방법이나 그 라인을 따라 사용해야합니까?

답변

1

셀레늄 API는 의사 요소를 지원하지 않습니다,하지만 당신은 자바 스크립트의 조각으로 현재 스타일의 속성을 얻을 수 있습니다 :

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

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

가 작동있어, 대단히 감사합니다! – CovertCoding

관련 문제