精选 Selenium 常用指令与核心速查备忘单,涵盖高频用法、配置参数与实用技巧。 本备忘单为 Selenium 初学者提供速成指南,帮助快速理解和掌握 Selenium WebDriver 自动化测试的核心 API。
| 浏览器 | 代码语法 |
|---|---|
Chrome |
WebDriver driver = new ChromeDriver(); |
Edge |
WebDriver driver = new EdgeDriver(); |
Firefox |
WebDriver driver = new FirefoxDriver(); |
Safari |
WebDriver driver = new SafariDriver(); |
| 定位器类型 | 代码语法 |
|---|---|
className |
driver.findElement(By.className (“key”)) |
cssSelector |
driver.findElement(By.cssSelector(key")) |
id |
driver.findElement(By.id(key")) |
linkText |
driver.findElement(By.linkText(key")) |
name |
driver.findElement(By.name(“key")) |
partialLinkText |
driver.findElement(By.partialLinkText(“key")) |
tagName |
driver.findElement(By.tagName (“key”)) |
xpath |
driver.findElement(By.xpath(“key")) |
driver.get("https://www.example.com");
driver.quit();
driver.close();
| 功能描述 | 代码语法 |
|---|---|
跳转至新 URL 网址 |
driver.navigate().to("https://www.newsite.com"); |
前进至历史下一页 |
driver.navigate().forward(); |
后退至历史上一页 |
driver.navigate().back(); |
刷新当前页面 |
driver.navigate().refresh(); |
| 功能描述 | 代码语法 |
|---|---|
切换至指定 iframe 框架 |
driver.switchTo().frame("frameId"); |
切回最外层主文档内容 |
driver.switchTo().defaultContent(); |
Alert alert = driver.switchTo().alert();
// 点击弹窗中的“确定/OK”按钮
alert.accept();
// 点击弹窗中的“取消/Cancel”按钮
alert.dismiss();
// 向弹窗输入框中发送文本内容
alert.sendKeys("text");
// 获取弹窗中的提示文本消息
alert().getText();
Actions actions = new Actions(driver);
// 将鼠标移动至元素中心并执行点击
actions.moveToElement(element).click().build().perform();
// 对指定元素执行双击 (Double Click)
actions.doubleClick(element).perform();
// 将元素从源位置拖拽放置至目标位置
actions.dragAndDrop(source, target).perform();
// 向指定元素发送连续按键文本
actions.sendKeys(element, "text").perform();
// 获取页面标题 (Title)
driver.getTitle();
// 获取当前页面的 URL 网址
driver.getCurrentUrl();
// 获取整页 HTML 源码内容
driver.getPageSource();
// 显式等待 (Explicit Wait) :- 满足特定条件才继续向下执行
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(element));
// 隐式等待 (Implicit Wait) :- 设置全局查找元素的超时等待时间
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// 流式等待 (Fluent Wait) :- 自定义最大等待超时时间与轮询检测频率
FluentWait wait = new FluentWait(driver);
// 设置最大超时时间为 5 秒
wait.withTimeout(5000, TimeUnit.MILLISECONDS);
// 设置轮询检查间隔为 250 毫秒
wait.pollingEvery(250, TimeUnit.MILLISECONDS);
// 设置忽略的异常类型
wait.ignoring(NoSuchElementException.class)
// 指定等待的条件成立
wait.until(ExpectedConditions.alertIsPresent());