Bird
Raised Fist0
Selenium Javatesting~5 mins

CSS selector syntax in Selenium Java - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a CSS selector?
A CSS selector is a pattern used to select and style HTML elements on a web page.
Click to reveal answer
beginner
How do you select an element by its ID using CSS selector syntax?
Use the hash symbol (#) followed by the element's ID. Example: #header selects the element with id="header".
Click to reveal answer
beginner
How do you select elements by their class name in CSS selectors?
Use a dot (.) followed by the class name. Example: <code>.button</code> selects all elements with class="button".
Click to reveal answer
intermediate
What does the CSS selector div > p select?
It selects all <p> elements that are direct children of a <div> element.
Click to reveal answer
beginner
How do you select all elements of a certain type, for example all paragraphs?
Use the element name as the selector. Example: p selects all <p> elements.
Click to reveal answer
Which CSS selector selects elements with class 'active'?
A.active
B#active
C*active
Dactive
What does the selector ul li select?
AAll <ul> elements inside <li>
BOnly direct child <li> elements of <ul>
CAll <li> elements anywhere
DAll <li> elements inside any <ul>
How do you select an element with id 'main'?
A#main
B.main
Cmain
D*main
What does the selector input[type='text'] select?
AAll elements with attribute type
BAll input elements
CAll input elements with type attribute equal to 'text'
DAll text elements
Which selector selects all direct children <p> of a <div>?
Adiv p
Bdiv > p
Cdiv + p
Ddiv ~ p
Explain how to select elements by ID, class, and element type using CSS selectors.
Think about the symbols used before the name.
You got /3 concepts.
    Describe the difference between the selectors div p and div > p.
    Look at the space vs > symbol.
    You got /2 concepts.

      Practice

      (1/5)
      1. Which CSS selector syntax correctly selects an element with the id submitBtn?
      easy
      A. #submitBtn
      B. .submitBtn
      C. submitBtn
      D. *submitBtn

      Solution

      1. Step 1: Understand CSS id selector syntax

        In CSS, the # symbol is used to select elements by their id attribute.
      2. Step 2: Match the selector to the id

        The selector #submitBtn targets the element with id="submitBtn" exactly.
      3. Final Answer:

        #submitBtn -> Option A
      4. Quick Check:

        Id selector uses # = #submitBtn [OK]
      Hint: Use # before id names to select by id [OK]
      Common Mistakes:
      • Using . instead of # for id
      • Omitting # and using just the id name
      • Using * which selects all elements
      2. Which of the following is the correct CSS selector to select all elements with the class active?
      easy
      A. #active
      B. *active
      C. .active
      D. active

      Solution

      1. Step 1: Recall CSS class selector syntax

        Classes are selected using a dot . followed by the class name.
      2. Step 2: Identify the correct selector

        The selector .active selects all elements with class="active".
      3. Final Answer:

        .active -> Option C
      4. Quick Check:

        Class selector uses . = .active [OK]
      Hint: Use . before class names to select by class [OK]
      Common Mistakes:
      • Using # instead of . for class
      • Omitting . and using just class name
      • Using * which selects all elements
      3. Given the HTML snippet:
      <input type="text" name="username" class="input-field" id="user" />

      Which CSS selector will select this input element by its attribute name?
      medium
      A. input[name='username']
      B. input#username
      C. input.class='input-field'
      D. input[name=username]

      Solution

      1. Step 1: Understand attribute selector syntax

        To select elements by attribute, use square brackets with attribute and value: [attr='value'].
      2. Step 2: Match the selector to the input element

        input[name='username'] selects input elements with name="username" exactly.
      3. Final Answer:

        input[name='username'] -> Option A
      4. Quick Check:

        Attribute selector uses [attr='value'] = input[name='username'] [OK]
      Hint: Use [attr='value'] to select by attribute [OK]
      Common Mistakes:
      • Missing quotes around attribute value
      • Using # for attribute instead of []
      • Incorrect syntax like input.class='input-field'
      4. Identify the error in this CSS selector used in Selenium:
      driver.findElement(By.cssSelector("div#main .content > p:first-child"));
      What is wrong with this selector?
      medium
      A. The pseudo-class ':first-child' is not supported in CSS selectors.
      B. The space between 'div#main' and '.content' is incorrect.
      C. The '>' combinator cannot be used with classes.
      D. The selector syntax is correct and will work as expected.

      Solution

      1. Step 1: Analyze the selector components

        The selector targets a p element that is the first child inside an element with class content, which is inside a div with id main.
      2. Step 2: Check CSS selector validity in Selenium

        All parts including #main, .content, child combinator >, and pseudo-class :first-child are valid CSS selectors supported by Selenium.
      3. Final Answer:

        The selector syntax is correct and will work as expected. -> Option D
      4. Quick Check:

        Valid CSS selector syntax = correct [OK]
      Hint: Check if selector uses valid CSS syntax supported by Selenium [OK]
      Common Mistakes:
      • Assuming pseudo-classes like :first-child are unsupported
      • Misunderstanding combinator usage
      • Thinking spaces between selectors are always wrong
      5. You want to select all button elements that have both the class btn and an attribute data-action equal to save. Which CSS selector is correct?
      hard
      A. button#btn[data-action=save]
      B. button.btn[data-action='save']
      C. button .btn[data-action='save']
      D. button.btn[data-action=save]

      Solution

      1. Step 1: Combine class and attribute selectors correctly

        To select elements with a class and attribute, chain selectors without spaces: button.btn[data-action='save'].
      2. Step 2: Verify syntax details

        Quotes around attribute value are recommended for exact matching; no spaces between element, class, and attribute selectors.
      3. Final Answer:

        button.btn[data-action='save'] -> Option B
      4. Quick Check:

        Combine selectors without spaces = button.btn[data-action='save'] [OK]
      Hint: Chain selectors without spaces; quote attribute values [OK]
      Common Mistakes:
      • Using spaces between element and class selectors
      • Omitting quotes around attribute values
      • Using # instead of . for class
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard