Skip to content

Web浏览器控制

Web 浏览器控制

简介

在 Web 自动化测试中,经常需要模拟用户在浏览器中的操作来完成一些测试任务,通过编程方式操作和控制浏览器的行为,以便自动化执行各种操作。例如:

  • 打开网页
  • 刷新
  • 回退
  • 最大化
  • 最小化

浏览器控制

模拟功能测试中对浏览器的操作

方法 操作 使用场景
get() 打开浏览器 web 自动化测试第一步
refresh() 浏览器刷新 模拟浏览器刷新
back() 浏览器退回 模拟退回步骤
maximize_window() 最大化浏览器 模拟浏览器最大化
minimize_window() 最小化浏览器 模拟浏览器最小化

代码示例

打开网页

get() 方法打开浏览器

python 实现

# 导入Selenium的webdriver模块
from selenium import webdriver

def window_start():
    # 创建Chrome浏览器的选项对象
    options = webdriver.ChromeOptions()
    # 初始化Chrome浏览器驱动
    driver = webdriver.Chrome(options=options)
    # 打开网页
    driver.get('https://www.ceshiren.com')
    # 关闭浏览器
    driver.quit()

if __name__ == '__main__':
    window_start()

java 实现

//导入Selenium的webdriver模块
import org.openqa.selenium.WebDriver;
//导入Selenium里的谷歌浏览器驱动模块
import org.openqa.selenium.chrome.ChromeDriver;


public class demo {
    public static void main(String[] args) {
        WebDriver driver =new ChromeDriver();
                //打开页面
                driver.get("https://ceshiren.com");
                //关闭浏览器进程
                driver.quit();
    }
}

刷新页面

refresh() 方法刷新页面。

python 实现

# 导入Selenium的webdriver模块
import time

from selenium import webdriver

def window_refresh():
    # 创建Chrome浏览器的选项对象
    options = webdriver.ChromeOptions()
    # 初始化Chrome浏览器驱动
    driver = webdriver.Chrome(options=options)
    # 打开网页
    driver.get('https://www.ceshiren.com')
    # 等待1秒
    time.sleep(1)
    # 刷新页面
    driver.refresh()
    time.sleep(1)
    # 关闭浏览器
    driver.quit()

if __name__ == '__main__':
    window_refresh()

java 实现

```java
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;



public class demo {
    public static void main(String[] args) {
        WebDriver driver =new ChromeDriver();

                driver.get("https://ceshiren.com");
                //使用refresh方法刷新页面
                driver.navigate().refresh();

        //关闭浏览器进程
                driver.quit();
    }
}
```

回退

用 back() 方法回退到上一个界面

python 实现

# 导入Selenium的webdriver模块
import time

from selenium import webdriver
from selenium.webdriver.common.by import By


def window_back():
    # 创建Chrome浏览器的选项对象
    options = webdriver.ChromeOptions()
    # 初始化Chrome浏览器驱动
    driver = webdriver.Chrome(options=options)
    # 打开网页
    driver.get('https://www.ceshiren.com')
    driver.find_element(By.XPATH,"//*[text()='类别']").click()
    time.sleep(1)
    driver.back()
    time.sleep(1)
    # 关闭浏览器
    driver.quit()

if __name__ == '__main__':
    window_back()

java 实现

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;



public class demo {
    //因为使用了Thread.sleep()等待,所以需要抛出异常
        public static void main(String[] args) throws InterruptedException {
        WebDriver driver =new ChromeDriver();
                //打开第一个页面
                driver.get("https://ceshiren.com");
                //打开第二个页面
                driver.get("https://ceshiren.com/c/ask/150");
                //等待两秒
                Thread.sleep(2000);
                //回退到第一个页面
                driver.navigate().back();


        //关闭浏览器进程
                driver.quit();
    }
}

最大化

maximize_window() 方法使窗口最大化

python 实现

import time

from selenium import webdriver

def max_window():
    # 创建Chrome浏览器的选项对象
    options = webdriver.ChromeOptions()
    # 初始化Chrome浏览器驱动
    driver = webdriver.Chrome(options=options)
    # 打开网页
    driver.get('https://www.ceshiren.com')
    # 窗口最大化
    driver.maximize_window()
    time.sleep(3)
    # 关闭浏览器
    driver.quit()

if __name__ == '__main__':
    max_window()

java 实现

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;



public class demo {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver =new ChromeDriver();

                driver.get("https://ceshiren.com");
                //最大化页面
                driver.manage().window().maximize();
                Thread.sleep(2000);



        //关闭浏览器进程
                driver.quit();
    }
}

最小化

minimize_window() 方法使窗口最小化

python 实现

import time

from selenium import webdriver

def min_window():
    # 创建Chrome浏览器的选项对象
    options = webdriver.ChromeOptions()
    # 初始化Chrome浏览器驱动
    driver = webdriver.Chrome(options=options)
    # 打开网页
    driver.get('https://www.ceshiren.com')
    # 窗口最小化
    driver.minimize_window()
    time.sleep(2)
    # 窗口最大化
    driver.maximize_window()
    time.sleep(3)
    # 关闭浏览器
    driver.quit()

if __name__ == '__main__':
    min_window()

java 实现

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;



public class demo {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver =new ChromeDriver();

                driver.get("https://ceshiren.com");

                //最小化页面
                driver.manage().window().minimize();
                Thread.sleep(2000);


        //关闭浏览器进程
                driver.quit();
    }
}

设置浏览器宽和高

set_window_size(宽, 高):设置浏览器的宽和高。

python 实现

import time

from selenium import webdriver

def set_window_size():
    # 创建Chrome浏览器的选项对象,并最大化窗口
    options = webdriver.ChromeOptions()
    options.add_argument("--start-maximized")
    # 初始化Chrome浏览器驱动
    driver = webdriver.Chrome(options=options)
    # 打开网页
    driver.get('https://www.ceshiren.com')
    driver.set_window_size(500,500)
    time.sleep(2)
    # 关闭浏览器
    driver.quit()

if __name__ == '__main__':
    set_window_size()

java 实现

    import org.openqa.selenium.Dimension;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;



public class demo {
    public static void main(String[] args) throws InterruptedException {
        WebDriver driver =new ChromeDriver();

                driver.get("https://ceshiren.com");
                //设置页面大小为800 x 600 像素
                driver.manage().window().setSize(new Dimension(800, 600));

                Thread.sleep(2000);

        //关闭浏览器进程
                driver.quit();
    }
}

总结

  • get():打开浏览器。
  • refresh():刷新浏览器。
  • back():回退到上一个页面。
  • maximize_window():浏览器窗口最大化。
  • minimize_window():浏览器窗口最小化。
  • set_window_size(宽, 高):设置浏览器的宽和高。