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");
    }
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值