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(宽, 高):设置浏览器的宽和高。