Best Selenium code snippet using org.openqa.selenium.WebDriverException.getSupportUrl
org.openqa.selenium.WebDriverException
The WebDriver error - unknown error, happens when the driver tries to process a command and an unspecified error occurs.
The error can generally be isolated to the specific driver. It is a good practice to read the error message for any pointers on why the error occurred.
The error message shows that Selenium webdriver
is not able to focus on element. generally, it happens due to incompatibility
between Browser and Driver versions

1Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: cannot focus element
2 (Session info: chrome=61.0.3163.100)
3 (Driver info: chromedriver=2.34.522940 (1a76f96f66e3ca7b8e57d503b4dd3bccfba87af1),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
4Command duration or timeout: 0 milliseconds
5Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
6System info: host: 'DWA7DEVOS00170', ip: '10.96.162.167', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_25'
7Driver info: org.openqa.selenium.chrome.ChromeDriver
Here are code snippets that can help you understand more how developers are using
Source: WebDriverException.java
...42 return super.getCause() instanceof WebDriverException43 ? super.getMessage() : createMessage(super.getMessage());44 }45 private String createMessage(String originalMessageString) {46 String supportMessage = getSupportUrl() == null ?47 "" : "For documentation on this error, please visit: " + getSupportUrl() + "\n";48 return (originalMessageString == null ? "" : originalMessageString + "\n")49 + supportMessage50 + getBuildInformation() + "\n"51 + getSystemInformation()52 + getAdditionalInformation();53 }54 public String getSystemInformation() {55 return String.format("System info: host: '%s', ip: '%s', os.name: '%s', os.arch: '%s', os.version: '%s', java.version: '%s'",56 HOST_NAME,57 HOST_ADDRESS,58 System.getProperty("os.name"),59 System.getProperty("os.arch"),60 System.getProperty("os.version"),61 System.getProperty("java.version"));62 }63 public String getSupportUrl() {64 return null;65 }66 public BuildInfo getBuildInformation() {67 return new BuildInfo();68 }69 public static String getDriverName(StackTraceElement[] stackTraceElements) {70 String driverName = "unknown";71 for (StackTraceElement e : stackTraceElements) {72 if (e.getClassName().endsWith("Driver")) {73 String[] bits = e.getClassName().split("\\.");74 driverName = bits[bits.length - 1];75 }76 }77 return driverName;...
Source: AutomationErrors.java
...49 * @param originalMessageString the original message string50 * @return the string51 */52 private String createMessage(String originalMessageString) {53 /*String supportMessage = (getSupportUrl() == null) ? ""54 : new StringBuilder()55 .append("For documentation on this error, please visit: ")56 .append(getSupportUrl()).append("\n").toString();*/57 return new StringBuilder()58 .append((originalMessageString == null) ? ""59 : new StringBuilder().append(originalMessageString)60 .append("\n").toString()).toString();61 /*.append(supportMessage).append(getBuildInformation())62 .append("\n").append(getSystemInformation())63 .append(getAdditionalInformation()).toString();*/64 }65 66}...
getSupportUrl
Using AI Code Generation
1package org.openqa.selenium;2public class WebDriverException extends RuntimeException {3 public WebDriverException(String message) {4 super(message);5 }6 public WebDriverException(String message, Throwable cause) {7 super(message, cause);8 }9 public String getSupportUrl() {10 }11}12package org.openqa.selenium;13public class InvalidElementStateException extends WebDriverException {14 public InvalidElementStateException(String message) {15 super(message);16 }17 public InvalidElementStateException(String message, Throwable cause) {18 super(message, cause);19 }20}21package org.openqa.selenium;22public class ElementNotVisibleException extends InvalidElementStateException {23 public ElementNotVisibleException(String message) {24 super(message);25 }26 public ElementNotVisibleException(String message, Throwable cause) {27 super(message, cause);28 }29}30package org.openqa.selenium;31public class ElementNotSelectableException extends InvalidElementStateException {32 public ElementNotSelectableException(String message) {33 super(message);34 }35 public ElementNotSelectableException(String message, Throwable cause) {36 super(message, cause);37 }38}39package org.openqa.selenium;40public class NoSuchElementException extends WebDriverException {41 public NoSuchElementException(String message) {42 super(message);43 }44 public NoSuchElementException(String message, Throwable cause) {45 super(message, cause);46 }47}48package org.openqa.selenium;49public class NoSuchFrameException extends WebDriverException {50 public NoSuchFrameException(String message) {51 super(message);52 }53 public NoSuchFrameException(String message, Throwable cause) {54 super(message, cause);55 }56}57package org.openqa.selenium;58public class NoAlertPresentException extends WebDriverException {59 public NoAlertPresentException() {60 super("No alert is present");61 }62 public NoAlertPresentException(String message) {63 super(message);64 }65 public NoAlertPresentException(String message, Throwable cause) {66 super(message, cause);67 }68}69package org.openqa.selenium;70public class StaleElementReferenceException extends WebDriverException {71 public StaleElementReferenceException(String message) {72 super(message);73 }74 public StaleElementReferenceException(String message, Throwable cause) {75 super(message, cause);76 }77}78package org.openqa.selenium;79public class ElementNotInteractableException extends WebDriverException {80 public ElementNotInteractableException(String message)
getSupportUrl
Using AI Code Generation
1public class WebDriverException extends RuntimeException {2 public WebDriverException(String message) {3 super(message);4 }5 public WebDriverException(String message, Throwable cause) {6 super(message, cause);7 }8 public String getSupportUrl() {9 }10}11public class WebDriverException extends RuntimeException {12 public WebDriverException(String message) {13 super(message);14 }15 public WebDriverException(String message, Throwable cause) {16 super(message, cause);17 }18 public String getSupportUrl() {19 }20}21public class WebDriverException extends RuntimeException {22 public WebDriverException(String message) {23 super(message);24 }25 public WebDriverException(String message, Throwable cause) {26 super(message, cause);27 }28 public String getSupportUrl() {29 }30}31public class WebDriverException extends RuntimeException {32 public WebDriverException(String message) {33 super(message);34 }35 public WebDriverException(String message, Throwable cause) {36 super(message, cause);37 }38 public String getSupportUrl() {39 }40}41public class WebDriverException extends RuntimeException {42 public WebDriverException(String message) {43 super(message);44 }45 public WebDriverException(String message, Throwable cause) {46 super(message, cause);47 }48 public String getSupportUrl() {49 }50}51public class WebDriverException extends RuntimeException {52 public WebDriverException(String message) {53 super(message);54 }55 public WebDriverException(String message, Throwable cause) {56 super(message, cause);57 }58 public String getSupportUrl() {59 }60}61public class WebDriverException extends RuntimeException {62 public WebDriverException(String message) {63 super(message);64 }65 public WebDriverException(String message, Throwable cause) {66 super(message,
getSupportUrl
Using AI Code Generation
1import org.openqa.selenium.WebDriverException;2import org.openqa.selenium.remote.RemoteWebDriver;3public class WebDriverExceptionTest {4 public static void main(String[] args) {5 RemoteWebDriver driver = new RemoteWebDriver();6 WebDriverException e = new WebDriverException("message", driver);7 System.out.println(e.getSupportUrl());8 }9}
getSupportUrl
Using AI Code Generation
1System.setProperty("webdriver.chrome.driver", "path of chromedriver.exe");2WebDriver driver = new ChromeDriver();3driver.findElement(By.id("q")).sendKeys("Selenium");4driver.findElement(By.name("btnK")).click();5driver.close();6driver.quit();7}8}
element not interactable exception in selenium web automation
Selenium WebDriver: How to wait for iFrames to load completely?
Selenium - org.openqa.selenium.WebDriverException: f.QueryInterface is not a function
How to get HTML5 validation message with selenium?
I/O Exception and Unable to find element In IE using Selenium Webdriver
How to send cookies with selenium webdriver?
"path is not absolute" exception while uploading file in selenium
Selenium - how to find elements by attribute with any value in Java?
Automating android emulator and browser using Appium script
Selenium: Scroll to end of page in dynamically loading webpage
Try setting an implicit wait of maybe 10 seconds.
gmail.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Or set an explicit wait. An explicit waits is code you define to wait for a certain condition to occur before proceeding further in the code. In your case, it is the visibility of the password input field. (Thanks to ainlolcat's comment)
WebDriver gmail= new ChromeDriver();
gmail.get("https://www.gmail.co.in");
gmail.findElement(By.id("Email")).sendKeys("abcd");
gmail.findElement(By.id("next")).click();
WebDriverWait wait = new WebDriverWait(gmail, 10);
WebElement element = wait.until(
ExpectedConditions.visibilityOfElementLocated(By.id("Passwd")));
gmail.findElement(By.id("Passwd")).sendKeys("xyz");
Explanation: The reason selenium can't find the element is because the id of the password input field is initially Passwd-hidden. After you click on the "Next" button, Google first verifies the email address entered and then shows the password input field (by changing the id from Passwd-hidden to Passwd). So, when the password field is still hidden (i.e. Google is still verifying the email id), your webdriver starts searching for the password input field with id Passwd which is still hidden. And hence, an exception is thrown.
Check out the latest blogs from LambdaTest on this topic:
This article is a part of our Content Hub. For more in-depth resources, check out our content hub on Responsive Testing Tutorial and Cross Browser Testing Tutorial.
This article is a part of our Content Hub. For more in-depth resources, check out our content hub on Selenium Locators Tutorial.
Are you looking for the top books for Automation Testers? Ah! That’s why you are here. When I hear the term book, This famous saying always spins up in my head.
Galen Framework is a test automation framework which was originally introduced to perform cross browser layout testing of a web application in a browser. Nowadays, it has become a fully functional testing framework with rich reporting and test management system. This framework supports both Java and Javascript.
Node js has become one of the most popular frameworks in JavaScript today. Used by millions of developers, to develop thousands of project, node js is being extensively used. The more you develop, the better the testing you require to have a smooth, seamless application. This article shares the best practices for the testing node.in 2019, to deliver a robust web application or website.
LambdaTest’s Selenium 4 tutorial is covering every aspects of Selenium 4 testing with examples and best practices. Here you will learn basics, such as how to upgrade from Selenium 3 to Selenium 4, to some advanced concepts, such as Relative locators and Selenium Grid 4 for Distributed testing. Also will learn new features of Selenium 4, such as capturing screenshots of specific elements, opening a new tab or window on the browser, and new protocol adoptions.
Upgrading From Selenium 3 To Selenium 4?: In this chapter, learn in detail how to update Selenium 3 to Selenium 4 for Java binding. Also, learn how to upgrade while using different build tools such as Maven or Gradle and get comprehensive guidance for upgrading Selenium.
What’s New In Selenium 4 & What’s Being Deprecated? : Get all information about new implementations in Selenium 4, such as W3S protocol adaption, Optimized Selenium Grid, and Enhanced Selenium IDE. Also, learn what is deprecated for Selenium 4, such as DesiredCapabilites and FindsBy methods, etc.
Selenium 4 With Python: Selenium supports all major languages, such as Python, C#, Ruby, and JavaScript. In this chapter, learn how to install Selenium 4 for Python and the features of Python in Selenium 4, such as Relative locators, Browser manipulation, and Chrom DevTool protocol.
Selenium 4 Is Now W3C Compliant: JSON Wireframe protocol is retiring from Selenium 4, and they are adopting W3C protocol to learn in detail about the advantages and impact of these changes.
How To Use Selenium 4 Relative Locator? : Selenium 4 came with new features such as Relative Locators that allow constructing locators with reference and easily located constructors nearby. Get to know its different use cases with examples.
Selenium Grid 4 Tutorial For Distributed Testing: Selenium Grid 4 allows you to perform tests over different browsers, OS, and device combinations. It also enables parallel execution browser testing, reads up on various features of Selenium Grid 4 and how to download it, and runs a test on Selenium Grid 4 with best practices.
Selenium Video Tutorials: Binge on video tutorials on Selenium by industry experts to get step-by-step direction from automating basic to complex test scenarios with Selenium.
LambdaTest also provides certification for Selenium testing to accelerate your career in Selenium automation testing.
Get 100 minutes of automation test minutes FREE!!