Selenium vs Playwright Cheat Sheet: Commands & Methods Explained

✅ Selenium (Java) vs Playwright (JS/TS) Commands

1. Browser / Context / Page

ActionSelenium (Java)Playwright (JS/TS)
Launch browserWebDriver driver = new ChromeDriver();const browser = await chromium.launch();
Headless modenew ChromeOptions().addArguments("--headless")chromium.launch({ headless: true })
New tab / pagedriver.switchTo().newWindow(WindowType.TAB);const page = await context.newPage();
Navigate to URLdriver.get(url);await page.goto(url);
Get URLdriver.getCurrentUrl();page.url();
Get titledriver.getTitle();await page.title();
Refreshdriver.navigate().refresh();await page.reload();
Backdriver.navigate().back();await page.goBack();
Forwarddriver.navigate().forward();await page.goForward();
Close tabdriver.close();await page.close();
Quit browserdriver.quit();await browser.close();

2. Locating Elements

ActionSelenium (Java)Playwright (JS/TS)
CSSdriver.findElement(By.cssSelector("..."));page.locator("...")
XPathdriver.findElement(By.xpath("..."));page.locator("xpath=//...")
IDdriver.findElement(By.id("id"));page.locator("#id")
Namedriver.findElement(By.name("name"));page.locator("[name='x']")
Classdriver.findElement(By.className("cls"));page.locator(".cls")
Many elementsdriver.findElements(By.cssSelector("..."));page.locator("...").all()

3. Element Actions

ActionSelenium (Java)Playwright (JS/TS)
Clickelement.click();await locator.click();
Type textelement.sendKeys("text");await locator.fill("text");
Clearelement.clear();await locator.clear();
Get textelement.getText();await locator.innerText();
Get attributeelement.getAttribute("href");await locator.getAttribute("href");
Hovernew Actions(driver).moveToElement(el).perform();await locator.hover();
Submitelement.submit();await locator.evaluate(el => el.submit());

4. Keyboard & Mouse

ActionSelenium (Java)Playwright (JS/TS)
Keyboard presselement.sendKeys(Keys.ENTER);await page.keyboard.press("Enter");
Mouse movenew Actions(driver).moveByOffset(x,y).perform();await page.mouse.move(x, y);
Mouse clicknew Actions(driver).click().perform();await page.mouse.click(x, y);
Mouse down/upclickAndHold() / release()page.mouse.down() / page.mouse.up()

5. Waits & Synchronization

ActionSelenium (Java)Playwright (JS/TS)
Implicit waitdriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);⚠️ Not recommended
Explicit waitWebDriverWait wait = new WebDriverWait(driver, 10);await locator.waitFor();
Wait element visiblewait.until(ExpectedConditions.visibilityOf(el));await locator.waitFor({ state: 'visible' });
Wait for navigationwait.until(ExpectedConditions.urlContains("..."));await page.waitForLoadState();

6. Frames & Windows

ActionSelenium (Java)Playwright (JS/TS)
Switch to framedriver.switchTo().frame("name");page.frame({ name: "name" })
Back to maindriver.switchTo().defaultContent();(auto-scoped, no switch needed)
Switch windowdriver.switchTo().window(handle);context.pages()[i]

7. Cookies

ActionSelenium (Java)Playwright (JS/TS)
Get cookiesdriver.manage().getCookies();await context.cookies();
Add cookiedriver.manage().addCookie(new Cookie("k","v"));await context.addCookies([{name:'k',value:'v'}])
Delete cookiedriver.manage().deleteCookieNamed("k");await context.clearCookies();

8. JavaScript Execution

ActionSelenium (Java)Playwright (JS/TS)
Execute JS((JavascriptExecutor)driver).executeScript("...");await page.evaluate(() => {...});
With argumentsexecuteScript("...", arg);await page.evaluate(arg => {...}, arg);

9. Screenshots

ActionSelenium (Java)Playwright (JS/TS)
Full page screenshotFile src = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);await page.screenshot({ path: "a.png" });
Element screenshotelement.getScreenshotAs(OutputType.FILE);await locator.screenshot({ path: "a.png" });

10. Downloads & Uploads

ActionSelenium (Java)Playwright (JS/TS)
Upload fileelement.sendKeys("/path/file.txt");await locator.setInputFiles("path/file.txt");
Handle downloadsManual (Chrome prefs)const download = await page.waitForEvent("download");

11. Alerts / Dialogs

ActionSelenium (Java)Playwright (JS/TS)
Switch to alertAlert a = driver.switchTo().alert();page.on('dialog', dialog => {...})
Accept alerta.accept();dialog.accept();
Dismissa.dismiss();dialog.dismiss();

12. Network Controls

ActionSelenium (Java)Playwright (JS/TS)
Block request❌ Not supportedawait page.route("**/*", route => route.abort());
Modify request❌ Not supportedpage.route("**/*", route => route.continue({ headers }))
Listen to requestsLimitedpage.on("request", req => {...})

13. Assertions

ActionSelenium (Java)Playwright (JS/TS)
AssertionsUse TestNG/JUnit✔️ Built-in: await expect(locator).toBeVisible()
Expect textJUnit/TestNGawait expect(locator).toHaveText("value")
Expect attributeexternalawait expect(locator).toHaveAttribute("href", "...")

Leave a Reply

Your email address will not be published. Required fields are marked *