Skip to main content
SeleniumDecoded

Selenium Cheat Sheet

Quick reference for common Selenium commands

Setup

ChromeDriver

J WebDriver driver = new ChromeDriver();
Py driver = webdriver.Chrome()
JS const driver = new Builder().forBrowser('chrome').build();
C# IWebDriver driver = new ChromeDriver();

FirefoxDriver

J WebDriver driver = new FirefoxDriver();
Py driver = webdriver.Firefox()
JS const driver = new Builder().forBrowser('firefox').build();
C# IWebDriver driver = new FirefoxDriver();

Headless Mode

J options.addArguments("--headless");
Py options.add_argument("--headless")
JS options.addArguments("--headless");
C# options.AddArgument("--headless");

Navigation

Open URL

J driver.get("https://example.com");
Py driver.get("https://example.com")
JS await driver.get("https://example.com");
C# driver.Navigate().GoToUrl("https://example.com");

Back

J driver.navigate().back();
Py driver.back()
JS await driver.navigate().back();
C# driver.Navigate().Back();

Forward

J driver.navigate().forward();
Py driver.forward()
JS await driver.navigate().forward();
C# driver.Navigate().Forward();

Refresh

J driver.navigate().refresh();
Py driver.refresh()
JS await driver.navigate().refresh();
C# driver.Navigate().Refresh();

Locators

By ID

J driver.findElement(By.id("id"));
Py driver.find_element(By.ID, "id")
JS await driver.findElement(By.id("id"));
C# driver.FindElement(By.Id("id"));

By Name

J driver.findElement(By.name("name"));
Py driver.find_element(By.NAME, "name")
JS await driver.findElement(By.name("name"));
C# driver.FindElement(By.Name("name"));

By CSS

J driver.findElement(By.cssSelector(".class"));
Py driver.find_element(By.CSS_SELECTOR, ".class")
JS await driver.findElement(By.css(".class"));
C# driver.FindElement(By.CssSelector(".class"));

By XPath

J driver.findElement(By.xpath("//div[@id='x']"));
Py driver.find_element(By.XPATH, "//div[@id='x']")
JS await driver.findElement(By.xpath("//div[@id='x']"));
C# driver.FindElement(By.XPath("//div[@id='x']"));

By Link Text

J driver.findElement(By.linkText("Click me"));
Py driver.find_element(By.LINK_TEXT, "Click me")
JS await driver.findElement(By.linkText("Click me"));
C# driver.FindElement(By.LinkText("Click me"));

By Class Name

J driver.findElement(By.className("class"));
Py driver.find_element(By.CLASS_NAME, "class")
JS await driver.findElement(By.className("class"));
C# driver.FindElement(By.ClassName("class"));

Actions

Click

J element.click();
Py element.click()
JS await element.click();
C# element.Click();

Type Text

J element.sendKeys("text");
Py element.send_keys("text")
JS await element.sendKeys("text");
C# element.SendKeys("text");

Clear Input

J element.clear();
Py element.clear()
JS await element.clear();
C# element.Clear();

Get Text

J String text = element.getText();
Py text = element.text
JS const text = await element.getText();
C# string text = element.Text;

Get Attribute

J String value = element.getAttribute("href");
Py value = element.get_attribute("href")
JS const value = await element.getAttribute("href");
C# string value = element.GetAttribute("href");

Submit Form

J element.submit();
Py element.submit()
JS await element.submit();
C# element.Submit();

Waits

Implicit Wait

J driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
Py driver.implicitly_wait(10)
JS await driver.manage().setTimeouts({ implicit: 10000 });
C# driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);

Explicit Wait

J WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
Py wait = WebDriverWait(driver, 10)
JS const wait = new WebDriverWait(driver, 10000);
C# WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));

Wait for Visible

J wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("id")));
Py wait.until(EC.visibility_of_element_located((By.ID, "id")))
JS await wait.until(until.elementIsVisible(el));
C# wait.Until(ExpectedConditions.ElementIsVisible(By.Id("id")));

Wait for Clickable

J wait.until(ExpectedConditions.elementToBeClickable(By.id("id")));
Py wait.until(EC.element_to_be_clickable((By.ID, "id")))
JS await wait.until(until.elementIsEnabled(el));
C# wait.Until(ExpectedConditions.ElementToBeClickable(By.Id("id")));

Browser Info

Page Title

J String title = driver.getTitle();
Py title = driver.title
JS const title = await driver.getTitle();
C# string title = driver.Title;

Current URL

J String url = driver.getCurrentUrl();
Py url = driver.current_url
JS const url = await driver.getCurrentUrl();
C# string url = driver.Url;

Page Source

J String source = driver.getPageSource();
Py source = driver.page_source
JS const source = await driver.getPageSource();
C# string source = driver.PageSource;

Windows & Frames

Switch to Frame

J driver.switchTo().frame("frameName");
Py driver.switch_to.frame("frameName")
JS await driver.switchTo().frame("frameName");
C# driver.SwitchTo().Frame("frameName");

Switch to Default

J driver.switchTo().defaultContent();
Py driver.switch_to.default_content()
JS await driver.switchTo().defaultContent();
C# driver.SwitchTo().DefaultContent();

New Window

J driver.switchTo().newWindow(WindowType.WINDOW);
Py driver.switch_to.new_window("window")
JS await driver.switchTo().newWindow("window");
C# driver.SwitchTo().NewWindow(WindowType.Window);

Get Window Handle

J String handle = driver.getWindowHandle();
Py handle = driver.current_window_handle
JS const handle = await driver.getWindowHandle();
C# string handle = driver.CurrentWindowHandle;

Cleanup

Close Window

J driver.close();
Py driver.close()
JS await driver.close();
C# driver.Close();

Quit Browser

J driver.quit();
Py driver.quit()
JS await driver.quit();
C# driver.Quit();