Bird
Raised Fist0
Selenium Javatesting~5 mins

Handling hidden elements in Selenium Java - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a hidden element in web testing?
A hidden element is a web page element that is present in the HTML but not visible or interactable by the user, often due to CSS styles like display:none or visibility:hidden.
Click to reveal answer
beginner
Why can't Selenium WebDriver interact with hidden elements directly?
Selenium WebDriver simulates user actions, and since hidden elements are not visible or interactable on the page, WebDriver cannot perform actions like click or sendKeys on them directly.
Click to reveal answer
beginner
How can you check if an element is hidden using Selenium in Java?
Use the method element.isDisplayed(). It returns false if the element is hidden.
Click to reveal answer
intermediate
Name one approach to interact with hidden elements in Selenium Java.
One approach is to use JavaScript Executor to perform actions on hidden elements, for example, using JavascriptExecutor to click or set values directly.
Click to reveal answer
beginner
What is a common reason for elements to be hidden on a web page?
Elements may be hidden because they are part of a dropdown menu, modal dialog, or are dynamically shown/hidden based on user interaction or page state.
Click to reveal answer
Which Selenium method checks if an element is visible on the page?
AisDisplayed()
BisHidden()
CisVisible()
DisEnabled()
What happens if you try to click a hidden element using Selenium WebDriver?
AThe test pauses until the element is visible
BThe click succeeds silently
CThe element becomes visible automatically
DSelenium throws an ElementNotInteractableException
Which tool can you use in Selenium Java to interact with hidden elements?
AActions class
BJavascriptExecutor
CWebDriverWait
DAlert interface
Why might a web element be hidden on a page?
ABecause CSS styles like display:none are applied
BBecause it is outside the viewport
CBecause it is disabled
DBecause the browser crashed
Which Selenium exception indicates you tried to interact with a hidden element?
ANoSuchElementException
BTimeoutException
CElementNotInteractableException
DStaleElementReferenceException
Explain how to detect and handle hidden elements in Selenium Java tests.
Think about visibility checks and JavaScript usage.
You got /4 concepts.
    Describe a real-life scenario where handling hidden elements is necessary in automated testing.
    Consider common web UI patterns with hidden parts.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which Selenium method helps to check if an element is visible on the page?
      easy
      A. isEnabled()
      B. isDisplayed()
      C. getText()
      D. click()

      Solution

      1. Step 1: Understand visibility check methods

        The isDisplayed() method returns true if the element is visible on the page.
      2. Step 2: Compare other methods

        isEnabled() checks if element is enabled, getText() gets text, and click() performs click action, none check visibility.
      3. Final Answer:

        isDisplayed() -> Option B
      4. Quick Check:

        Visibility check = isDisplayed() [OK]
      Hint: Use isDisplayed() to check visibility quickly [OK]
      Common Mistakes:
      • Confusing isEnabled() with visibility check
      • Using getText() to check visibility
      • Trying to click before checking visibility
      2. Which of the following is the correct syntax to click a hidden element using JavaScript in Selenium Java?
      easy
      A. driver.javascriptExecutor.execute("arguments[0].click();", element);
      B. driver.executeScript("arguments[0].click();", element);
      C. JavascriptExecutor.executeScript("arguments[0].click();", element);
      D. ((JavascriptExecutor)driver).executeScript("arguments[0].click();", element);

      Solution

      1. Step 1: Cast driver to JavascriptExecutor

        In Selenium Java, to run JavaScript, cast WebDriver to JavascriptExecutor: ((JavascriptExecutor)driver).
      2. Step 2: Use executeScript method correctly

        Call executeScript with JavaScript code and element as argument: executeScript("arguments[0].click();", element);
      3. Final Answer:

        ((JavascriptExecutor)driver).executeScript("arguments[0].click();", element); -> Option D
      4. Quick Check:

        Correct JS click syntax = ((JavascriptExecutor)driver).executeScript("arguments[0].click();", element); [OK]
      Hint: Cast driver to JavascriptExecutor before executeScript [OK]
      Common Mistakes:
      • Calling executeScript directly on driver without casting
      • Using wrong method names like execute()
      • Incorrect object references for JavascriptExecutor
      3. What will be the output of the following code snippet if the element is hidden?
      WebElement element = driver.findElement(By.id("hiddenBtn"));
      boolean visible = element.isDisplayed();
      System.out.println(visible);
      medium
      A. false
      B. true
      C. null
      D. Throws NoSuchElementException

      Solution

      1. Step 1: Understand isDisplayed() behavior

        The isDisplayed() method returns false if the element exists but is hidden (not visible).
      2. Step 2: Check element presence

        Since findElement finds the element by id, no exception is thrown. The element is hidden, so isDisplayed() returns false.
      3. Final Answer:

        false -> Option A
      4. Quick Check:

        Hidden element visibility = false [OK]
      Hint: isDisplayed() returns false for hidden elements [OK]
      Common Mistakes:
      • Assuming isDisplayed() throws exception if element is hidden
      • Confusing false with null
      • Expecting true without checking visibility
      4. Identify the error in this code snippet that tries to click a hidden element:
      WebElement element = driver.findElement(By.id("hiddenBtn"));
      element.click();
      medium
      A. No error, element.click() works on hidden elements
      B. Throws NoSuchElementException because element is missing
      C. Throws ElementNotVisibleException because element is hidden
      D. Throws StaleElementReferenceException due to stale element

      Solution

      1. Step 1: Understand click behavior on hidden elements

        Trying to click a hidden element using element.click() causes ElementNotVisibleException because Selenium cannot interact with invisible elements.
      2. Step 2: Check element presence

        The element is found, so no NoSuchElementException. It is not stale, so no StaleElementReferenceException.
      3. Final Answer:

        Throws ElementNotVisibleException because element is hidden -> Option C
      4. Quick Check:

        Click hidden element error = ElementNotVisibleException [OK]
      Hint: Clicking hidden elements throws ElementNotVisibleException [OK]
      Common Mistakes:
      • Assuming click works on hidden elements
      • Confusing NoSuchElementException with visibility issues
      • Ignoring exception types for stale elements
      5. You want to click a button that is hidden by default and only visible after scrolling. Which approach is best to handle this in Selenium Java?
      hard
      A. Use JavascriptExecutor to scroll element into view, then use element.click()
      B. Directly call element.click() without scrolling
      C. Use Thread.sleep() to wait and then click
      D. Use Actions class to move to element and then click

      Solution

      1. Step 1: Scroll element into view using JavaScript

        Hidden elements due to scrolling can be made visible by scrolling them into view with JavascriptExecutor: executeScript("arguments[0].scrollIntoView(true);", element);
      2. Step 2: Click the now visible element

        After scrolling, use element.click() to interact safely with the visible element.
      3. Final Answer:

        Use JavascriptExecutor to scroll element into view, then use element.click() -> Option A
      4. Quick Check:

        Scroll then click = JavascriptExecutor + click [OK]
      Hint: Scroll element into view before clicking hidden buttons [OK]
      Common Mistakes:
      • Clicking without scrolling causes exceptions
      • Using Thread.sleep() instead of scrolling
      • Relying only on Actions class without scrolling
      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