selenium的常见方法及使用

selenium的常用方法

ChromeDriver driver = new ChromeDriver();

1,获取当前页面的路径

String url1 = driver.getCurrentUrl();

2,获取当前页面的标题

String title1 = driver.getTitle();

3,跳转到最新的页面

//每个页面都自己的唯一句柄,所以可以通过页面的句柄,跳转到指定页面
        String window = driver.getWindowHandle();//获取当前页面的句柄
        Set<String> windowHandles = driver.getWindowHandles();//获取访问过页面的所有句柄
        for (String handle : windowHandles) {
            if (!window.equals(handle)){
                System.out.println("跳转到最新打开的页面中");
                driver.switchTo().window(handle);//跳转到新的页面
                System.out.println("页面的句柄:" + handle);
            }
        }

4,窗口大小

        driver.manage().window().maximize();//窗口最大化
        driver.manage().window().minimize();//窗口最小化
        driver.manage().window().setSize(new Dimension(800,600));//设置指定尺寸

5,selenium执行脚本

        driver.executeScript("window.scroll(0,document.body.scrollTop)");
        driver.executeScript("window.scroll(0,document.body.scrollHeight)");

6,导航(nacigate接口)

1),前进:driver.navigate().forword()

2),后退driver.navigate().forword()

        driver.get("https://tool.lu/");
        Thread.sleep(2000);
        driver.findElement(By.cssSelector("#nav > div > div > ul > li:nth-child(1) > a")).click();
        Thread.sleep(2000);
        driver.navigate().back();//后退
        Thread.sleep(2000);
        driver.navigate().forward();//前进

7,弹窗(Alert接口)

1),普通弹窗的操作思路:

        driver.get("网页的url");//绑定网页
        WebElement element = driver.findElement(By.cssSelector("弹出弹窗的按钮的class"));
        element.click();//点击按钮
        WebElement element1 = driver.findElement(By.cssSelector("找到关闭弹窗的属性"));
        element.click();//点击关闭弹窗

2),警告弹窗处理思路:

        driver.get("网页的url");
        driver.findElement(By.xpath("点击会出现警告弹窗的链接的xpath")).click();
        Alert alert = driver.switchTo().alert();//获取弹窗事件
        //警告弹窗的class和id无法被全段代码定位,所以点击不需要通过找到属性的xpath或这css样式
        //直接接收
        alert.accept();//点击确认按钮
        alert.dismiss();//点击取消

3),输入弹窗处理思路:

        driver.get("网页的url");
        driver.findElement(By.xpath("点击会出现警告弹窗的链接的xpath")).click();
        Alert alert = driver.switchTo().alert();//获取弹窗事件
        //警告弹窗的class和id无法被全段代码定位,所以点击不需要通过找到属性的xpath或这css样式
        //直接接收
        alert.sendKeys("要输入的文本信息");//
        alert.accept();//点击确认按钮
        alert.dismiss();//点击取消

 8,鼠标键盘操作(Actions接口)

selenuim提供actions来模仿鼠标和键盘的操作

        driver.get("要测试的网页");
        WebElement element = driver.findElement(By.cssSelector("想要操作的元素"));
        Actions actions = new Actions(driver);//常见模拟鼠标键盘操作
        actions.clickAndHold(element).perform();//将鼠标移动到需要操作的位置并保持,演示
        actions.click(element).perform();//演示点击效果

        actions.sendKeys("键盘的操作").perform();//从模拟键盘输入

9,模拟复选框(Select接口)

        driver.get("要测试的网页");
        WebElement element = driver.findElement(By.cssSelector("复选框classID"));
        Select select = new Select(element);
        select.selectByIndex(1);//通过索引选择列表项,索引从0开始
        select.selectByValue("name");//通过value值来选择列表项
        select.selectByVisibleText("列表项的文本内容");//通过可见文本来选择

10,文件的上传

selenium不能狗拉起系统的其他程序的窗口,因此可以使用sendKeys(“文件路径”)上传文件

        driver.get("要测试的网页");
        WebElement element = driver.findElement(By.cssSelector("上传文件的classID"));
        element.sendKeys("文件路径");//selenium无法拉取系统的其他程序,采用输入文件路径的方式,上传文件

11,页面刷新

        driver.get("要测试的网页");
        driver.navigate().refresh();//刷新页面

12,屏幕截图

        driver.get("http://www.baidu.com");
        driver.findElement(By.cssSelector("#kw")).sendKeys("selenium");
        driver.findElement(By.cssSelector("#su")).click();

        //屏幕截图
        File file = new File("./src/test/screenShut/my.png");
        File screenshot = driver.getScreenshotAs(OutputType.FILE);
        try {
            FileUtils.copyFile(screenshot,file);
        } catch (IOException e) {
            e.printStackTrace();
        }
        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(2));
        driver.findElement(By.cssSelector("#\\31  > div > div > h3 > a"));

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值