selenium常用方法

常用方法汇总表

1.浏览器驱动和基本配置

操作类别 方法/代码 说明
‌初始化驱动‌ WebDriver driver = new ChromeDriver(); 启动 Chrome 浏览器 (需配置驱动路径或使用 Selenium Manager)
‌访问页面‌ driver.get("url"); driver.navigate().to("url"); 打开指定 URL
‌关闭当前窗口‌ driver.close(); 关闭当前聚焦的窗口或标签页
‌退出会话‌ driver.quit(); 关闭所有窗口并结束 WebDriver 会话,释放资源
‌浏览器后退‌ driver.navigate().back(); 模拟点击浏览器后退按钮
‌浏览器前进‌ driver.navigate().forward(); 模拟点击浏览器前进按钮
‌刷新页面‌ driver.navigate().refresh(); 刷新当前页面
‌窗口最大化‌ driver.manage().window().maximize(); 将浏览器窗口最大化
‌设置窗口大小‌ driver.manage().window().setSize(new Dimension(800, 600)); 自定义浏览器窗口宽高
‌获取当前 URL‌ driver.getCurrentUrl(); 返回当前页面的 URL 字符串
‌获取页面标题‌ driver.getTitle(); 返回当前页面的 Title 字符串
‌获取页面源码‌ driver.getPageSource(); 返回当前页面的 HTML 源码

代码示例


       System.setProperty("webdriver.chrome.driver","/Users/alex/Documents/tool/chromedriver/chromedriver");
        ChromeOptions options = new ChromeOptions();
        WebDriver driver = new ChromeDriver(options);
        driver.get("https://www.163.com/");
        WebElement input = driver.findElement(By.xpath("//*[@id='netease_search_input']"));
        System.out.println(input.isDisplayed());
        System.out.println(input.isEnabled());
        System.out.println(input.isSelected());
        input.click();
        System.out.println(input.isSelected());
        input.sendKeys("梅西");
        Thread.sleep(2000);
        input.clear();
        Thread.sleep(2000);
        input.sendKeys("世界杯");

        WebElement submit = driver.findElement(By.xpath("//*[@id='netease_search_btn']"));
        System.out.println(submit.getLocation());
        System.out.println(submit.getSize());
        submit.click();
        Thread.sleep(2000);

        driver.quit();

2.元素操作 (WebElement 对象)

操作类别 方法 说明
‌点击‌ elem.click(); 点击元素
‌输入文本‌ elem.sendKeys("text"); 在输入框中输入内容
‌清空文本‌ elem.clear(); 清空输入框内容
‌获取文本‌ elem.getText(); 获取元素内部的可见文本
‌获取属性‌ elem.getAttribute("href"); 获取指定属性的值 (如 href, value, class)
‌获取标签名‌ elem.getTagName(); 获取元素的标签名称 (如 input, div)
‌是否显示‌ elem.isDisplayed(); 判断元素是否在页面上可见
‌是否可用‌ elem.isEnabled(); 判断元素是否可交互 (非 disabled 状态)
‌是否选中‌ elem.isSelected(); 判断单选框/复选框是否被选中
‌提交表单‌ elem.submit(); 提交元素所在的表单 (仅限 form 内元素)
‌获取位置‌ elem.getLocation(); 获取元素左上角坐标 (Point 对象)
‌获取尺寸‌ elem.getSize(); 获取元素宽高 (Dimension 对象)

代码示例

        System.setProperty("webdriver.chrome.driver","/Users/alex/Documents/tool/chromedriver/chromedriver");
        ChromeOptions options = new ChromeOptions();
        WebDriver driver = new ChromeDriver(options);
        driver.get("https://www.163.com/");
        WebElement input = driver.findElement(By.xpath("//*[@id='netease_search_input']"));
        System.out.println(input.isDisplayed());
        System.out.println(input.isEnabled());
        System.out.println(input.isSelected());
        input.click();
        System.out.println(input.isSelected());
        input.sendKeys("梅西");
        Thread.sleep(2000);
        input.clear();
        Thread.sleep(2000);
        input.sendKeys("世界杯");
        WebElement submit = driver.findElement(By.xpath("//*[@id='netease_search_btn']"));
        System.out.println(submit.getLocation());
        System.out.println(submit.getSize());
        submit.click();
        Thread.sleep(2000);
        driver.quit();

3.鼠标与键盘高级操作 (Actions)

操作类别 方法 说明
‌悬停‌ actions.moveToElement(elem).perform(); 鼠标移动到元素上方 (Hover)
‌右键点击‌ actions.contextClick(elem).perform(); 对元素执行右键点击
‌双击‌ actions.doubleClick(elem).perform(); 对元素执行双击
‌拖拽‌ actions.dragAndDrop(source, target).perform(); 将源元素拖拽到目标元素位置
‌按键按下‌ actions.keyDown(Keys.CONTROL).perform(); 按下控制键 (需配合 keyUp 释放)
‌按键释放‌ actions.keyUp(Keys.CONTROL).perform(); 释放控制键
‌组合操作‌ actions.sendKeys(Keys.chord(Keys.CONTROL, "c")).perform(); 模拟 Ctrl+C 复制

代码示例
https://www.selenium.dev/documentation/webdriver/actions_api/

4.窗口与 Frame 切换

操作类别 方法 说明
‌获取所有句柄‌ driver.getWindowHandles(); 返回所有窗口句柄的 Set 集合
‌获取当前句柄‌ driver.getWindowHandle(); 返回当前窗口的句柄
‌切换窗口‌ driver.switchTo().window(handle); 切换到指定句柄的窗口
‌切换 Frame‌ driver.switchTo().frame("frameName"); 切换到 iframe (可通过索引、名称或 WebElement)
‌切回主文档‌ driver.switchTo().defaultContent(); 从 iframe 切回最外层页面
‌切回父 Frame‌ driver.switchTo().parentFrame(); 切换到上一级 frame
‌处理 Alert‌ driver.switchTo().alert().accept(); 接受弹窗 (点击确定)
‌处理 Alert‌ driver.switchTo().alert().dismiss(); 拒绝弹窗 (点击取消)
‌获取 Alert 文本‌ driver.switchTo().alert().getText(); 获取弹窗中的文本内容

代码示例
https://www.selenium.dev/documentation/webdriver/interactions/frames/
https://www.selenium.dev/documentation/webdriver/interactions/windows/

5.下拉框处理 (Select)

操作类别 方法 说明
‌通过索引选择‌ select.selectByIndex(1); 选择第 2 个选项 (索引从 0 开始)
‌通过值选择‌ select.selectByValue("value"); 选择 option 标签中 value 属性匹配项
‌通过文本选择‌ select.selectByVisibleText("文本"); 选择可见文本匹配的选项
‌获取所有选项‌ select.getOptions(); 返回所有选项的 List
‌获取已选选项‌ select.getAllSelectedOptions(); 返回所有已选中的选项 (多选框适用)
‌判断是否多选‌ select.isMultiple(); 判断下拉框是否支持多选

6.执行js

代码示例

        System.setProperty("webdriver.chrome.driver","/Users/alex/Documents/tool/chromedriver/chromedriver");
        ChromeOptions options = new ChromeOptions();
        WebDriver driver = new ChromeDriver(options);
        driver.get("https://www.163.com/");
        driver.manage().window().maximize();
        JavascriptExecutor js = (JavascriptExecutor) driver;
        for (int i = 0; i < 3; i++){
        js.executeScript("window.scrollBy(0, 500);;");
        Thread.sleep(2000);
        }
        driver.quit();
posted @ 2026-06-23 16:06  alex_lau  阅读(8)  评论(0)    收藏  举报