栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

WebDriver相关API的使用--Java语言

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WebDriver相关API的使用--Java语言

目录

1.get(String url)

2.getCorrentUrl()

3.getTitle()

4.getPageSource()

5.quit()

6.close()

7.getWindowHandle()

8.getWindowHandles()

9.manage()

10.navigate对象


1.get(String url)

访问指定url页面

2.getCorrentUrl()

获取当前页面的url地址

3.getTitle()

获取当前页面的标题

4.getPageSource()

获取当前页面源代码

5.quit()

关闭驱动对象以及所有相关的窗口

package com.example.demo;

import org.junit.jupiter.api.Test;
import org.openqa.selenium.firefox.FirefoxDriver;

public class WebdriverOperate {
    private static FirefoxDriver firefoxDriver;

    @Test
    public void testWebdriverAPI(){
        openFirefox();
        System.out.println("当前页面url为:"+firefoxDriver.getCurrentUrl());
        System.out.println("当前页面title为:"+firefoxDriver.getTitle());
        System.out.println("当前页面源代码:"+firefoxDriver.getPageSource());
        firefoxDriver.quit();
    }

    public static void openFirefox() {
        firefoxDriver = new FirefoxDriver();
        firefoxDriver.get("https://www.baidu.com");
    }
}

6.close()

关闭当前窗口

注意:不会关闭驱动,只会关闭当前窗口

package com.example.demo;

import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.firefox.FirefoxDriver;

public class WebdriverOperate {
    private static FirefoxDriver firefoxDriver;

    @Test
    public void testOthers() throws InterruptedException {
        openFirefox();
        firefoxDriver.findElement(By.id("kw")).sendKeys("腾讯课堂");
        firefoxDriver.findElement(By.id("su")).click();
        //此处必须等待几秒钟,不加就会报错,这是因为在浏览器还没有加载出来“官方”的时候就点击,这时候会报错
        Thread.sleep(2000);
        firefoxDriver.findElement(By.xpath("//a[text()='官方']")).click();
        Thread.sleep(3000);
        firefoxDriver.close();
    }
    
    public static void openFirefox() {
        firefoxDriver = new FirefoxDriver();
        firefoxDriver.get("https://www.baidu.com");
    }
}

7.getWindowHandle()

返回当前句柄

8.getWindowHandles()

返回所有由驱动对象打开页面所有的句柄,页面不同,句柄不一样

package com.example.demo;

import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.firefox.FirefoxDriver;

public class WebdriverOperate {
    private static FirefoxDriver firefoxDriver;

    @Test
    public void testOthers() throws InterruptedException {
        openFirefox();
        firefoxDriver.findElement(By.id("kw")).sendKeys("腾讯课堂");
        firefoxDriver.findElement(By.id("su")).click();
        //
        System.out.println("新窗口打开前的句柄:"+firefoxDriver.getWindowHandle());
        System.out.println("新窗口打开前的所有句柄:"+firefoxDriver.getWindowHandles());
        //此处必须等待几秒钟,不加就会报错,这是因为在浏览器还没有加载出来“官方”的时候就点击,这时候会报错
        Thread.sleep(10000);
        firefoxDriver.findElement(By.xpath("//a[text()='官方']")).click();
        Thread.sleep(3000);
        //前后句柄一样
        System.out.println("新窗口打开后的句柄:"+firefoxDriver.getWindowHandle());
        System.out.println("新窗口打开后的所有句柄:"+firefoxDriver.getWindowHandles());
    }
    public static void openFirefox() {
        firefoxDriver = new FirefoxDriver();
        firefoxDriver.get("https://www.baidu.com");
    }
}

9.manage()

此方法可以获取Option---浏览器菜单操作对象

diver.manage().window()

package com.example.demo;

import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class WebdriverOperate {
    private static FirefoxDriver firefoxDriver;

    @Test
    public void testOptions(){
        openFirefox();
        WebDriver.Options options = firefoxDriver.manage();
        //全屏
        options.window().fullscreen();
        //浏览器窗口最大化
        options.window().maximize();
        //获取浏览器窗口的参数
        Dimension dimension = options.window().getSize();
        System.out.println("高度:"+dimension.getHeight()+",宽度:"+dimension.getWidth());
        //获取当前窗口的位置
        System.out.println(options.window().getPosition().getX());
        System.out.println(options.window().getPosition().getY());
    }

    public static void openFirefox() {
        firefoxDriver = new FirefoxDriver();
        firefoxDriver.get("https://www.baidu.com");
    }
}


10.navigate对象
package com.example.demo;

import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class WebdriverOperate {
    private static FirefoxDriver firefoxDriver;
    
    @Test
    public void testNavigate() throws InterruptedException {
        openFirefox();
        //获取navigate对象
        WebDriver.Navigation navigation = firefoxDriver.navigate();
        Thread.sleep(2000);
        //访问JD
        navigation.to("https://www.jd.com");
        Thread.sleep(2000);
        //刷新网页
        navigation.refresh();
        Thread.sleep(2000);
        //回退
        navigation.back();
        Thread.sleep(2000);
        //前进
        navigation.forward();
        Thread.sleep(2000);
    }

    public static void openFirefox() {
        firefoxDriver = new FirefoxDriver();
        firefoxDriver.get("https://www.baidu.com");
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781837.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号