Selenium WebDriver get text from CSS property "content" on a ::before pseudo element
I am not 100% sure if WebDriver can retrieve pseudo element content for you. I think you would need to use Javascript. Below works, I tested.
String script = "return window.getComputedStyle(document.querySelector('#validationError'),':before').getPropertyValue('content')";JavascriptExecutor js = (JavascriptExecutor)driver;String content = (String) js.executeScript(script);System.out.println(content);
This should print
The information provided is either invalid or incomplete.
Tried the same, works for me.
Created sample html file :
<!DOCTYPE html><html><head><style> p::after { content: " - Remember this";}</style></head><body><p id='b'>My name is Donald</p><p>I live in Ducksburg</p></body></html>
Reused Nilesh's code
String script = "return window.getComputedStyle(document.querySelector('p#b'), ':after').getPropertyValue('content')"; JavascriptExecutor js = (JavascriptExecutor) UIKeyWords.getUIDriver(); String contentValue = (String) js.executeScript(script); System.out.println(contentValue);