0
0
Selenium Javatesting~20 mins

CSS attribute and pseudo-class selectors in Selenium Java - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
CSS Selector Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
locator
intermediate
2:00remaining
Locate elements with attribute containing a specific substring
Which CSS selector correctly locates all <input> elements whose name attribute contains the substring user?
Ainput[name$='user']
Binput[name^='user']
Cinput[name*='user']
Dinput[name~='user']
Attempts:
2 left
💡 Hint
The * operator in attribute selectors means 'contains'.
assertion
intermediate
2:00remaining
Verify element is the first child using CSS pseudo-class
In Selenium Java, which assertion correctly verifies that a located element is the first child of its parent using CSS pseudo-class selectors?
Selenium Java
WebElement element = driver.findElement(By.cssSelector("li:first-child"));
// Which assertion below is correct?
AassertEquals("Home", element.getText());
BassertNull(element);
CassertTrue(element.getText().equals("Home"));
DassertFalse(element.isDisplayed());
Attempts:
2 left
💡 Hint
Use assertEquals to compare expected and actual text.
Predict Output
advanced
2:00remaining
Output of Selenium locator count with attribute selector
Given the following HTML snippet and Selenium Java code, what is the output of elements.size()?
Selenium Java
<ul>
  <li data-role="admin">Admin</li>
  <li data-role="user">User1</li>
  <li data-role="user">User2</li>
  <li>Guest</li>
</ul>

List<WebElement> elements = driver.findElements(By.cssSelector("li[data-role='user']"));
System.out.println(elements.size());
A0
B3
C1
D2
Attempts:
2 left
💡 Hint
Count only <li> elements with attribute data-role exactly 'user'.
🔧 Debug
advanced
2:00remaining
Identify the error in CSS selector for Selenium
Which option contains an invalid CSS selector that will cause Selenium to throw an exception?
Abutton:contains('Submit')
Ba[href$='.pdf']
Cdiv[class^='container']
Dinput[type='checkbox']:checked
Attempts:
2 left
💡 Hint
CSS selectors do not support :contains pseudo-class.
framework
expert
3:00remaining
Best practice for waiting on element with attribute and pseudo-class
In Selenium Java, which code snippet correctly waits up to 10 seconds for a visible <button> element with attribute data-action='save' and that is the last child of its parent, using CSS selectors and explicit waits?
A
new WebDriverWait(driver, Duration.ofSeconds(10))
  .until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("button[data-action='save']:last-child")));
B
new WebDriverWait(driver, Duration.ofSeconds(10))
  .until(ExpectedConditions.elementToBeClickable(By.cssSelector("button[data-action='save']:last-child")));
C
new WebDriverWait(driver, Duration.ofSeconds(10))
  .until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("button[data-action='save']:first-child")));
D
new WebDriverWait(driver, Duration.ofSeconds(10))
  .until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("button[data-action='save']:last-child")));
Attempts:
2 left
💡 Hint
Use elementToBeClickable to ensure visibility and interactability.