UI自动化测试-13--WebDriver--浏览器操作
浏览器操作
1. 浏览器操作-访问网址
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/") #用get方法访问url
sleep(3)
driver.quit()
2、页面的前进与后退
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
sleep(3)
driver.get('https://www.sogou.com/')
sleep(3)
driver.back() #相当于浏览器的回退按钮
sleep(3)
driver.forward() #相当于浏览器的前进按钮
sleep(3)
driver.quit()
3、浏览器的最大化、最小化
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
sleep(2)
driver.maximize_window() #最大化窗口
sleep(2)
driver.minimize_window() #最小化
sleep(2)
driver.maximize_window()
sleep(2)
driver.quit()
4、关闭浏览器
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
sleep(5) #人工做一个动作,打开一个页面
driver.close() #close关闭selenium打开的窗口
5、退出浏览器进程
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
sleep(5) #人工做一个动作,打开一个页面
driver.close() #close关闭selenium打开的窗口
sleep(3)
driver.quit() #quit直接退出浏览器
6、获取、设置当前窗口的位置
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
curpos = driver.get_window_position() #获取当前窗口的位置
print(curpos)
sleep(3)
driver.set_window_position(100, 200) #设置窗口位置,int
sleep(3)
print(driver.get_window_position())
driver.quit()
7、获取、设置当前窗口大小
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
#打印窗口大小
print(driver.get_window_size())
sleep(2)
# 设置窗口大小
driver.set_window_size(800, 600)
sleep(2)
print(driver.get_window_size())
driver.quit()
8、操作多浏览器窗口
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
# js打开浏览器标签的固定写法:“window.open(‘URL’)”
js = "window.open('https://www.sogou.com/')"
driver.execute_script(js)
sleep(3)
driver.quit()
切换页面
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
print(driver.current_window_handle)
js = "window.open('https://www.sogou.com/')"
driver.execute_script(js)
print(driver.window_handles) #打印所有窗口句柄
print(driver.current_window_handle) # 打印当前窗口句柄
driver.switch_to.window(driver.window_handles[1]) #切换句柄,切换浏览器标签
print(driver.current_window_handle)
9、获取页面的title属性
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
print(driver.title) # 打印title
driver.quit()
10、-获取页面源码
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
print(driver.page_source) #打印网页的源码
driver.quit()
11、获取URL
from selenium import webdriver #从selenium中引入webdriver的包
from time import sleep #从time包引入sleep方法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/") #打开百度首页
driver.find_element_by_link_text('新闻').click() #点击一下首页右上角“新闻”超链接
print(driver.current_url) #current_url,打印浏览器当前的URL
driver.quit()
12、判断元素是否可见、可执行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>判断元素是否可见</title>
<script type="text/javascript">
function showAndHidden1() {
var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");
if (div1.style.display == 'block') div1.style.display='none';
else div1.style.display = 'block';
if (div2.style.display == 'block') div2.style.display='none';
else div2.style.display = 'block';
}
function showAndHidden2() {
var div3 = document.getElementById("div3");
var div4 = document.getElementById("div4");
if (div3.style.visibility == 'visible') div3.style.visibility='hidden';
else div3.style.visibility = 'visible';
if (div4.style.visibility == 'visible') div4.style.visibility='hidden';
else div4.style.visibility = 'visible';
}
</script>
</head>
<body>
<div>display:元素不占用页面位置</div>
<div id="div1" style="display:block">DIV 1</div>
<div id="div2" style="display:none">DIV 2</div>
<input id="button1" type="button" onclick="showAndHidden1();" value="DIV切换"/>
<hr>
<div>display:元素占用页面位置</div>
<div id="div3" style="visibility: visible;">DIV 3</div>
<div id="div4" style="visibility: hidden;">DIV 4</div>
<input id="button2" type="button" onclick="showAndHidden2();" value="DIV切换"/>
</body>
</html>
from selenium import webdriver
from time import sleep
"""
判断页面元素是否可见
"""
driver = webdriver.Chrome()
driver.get('D:\\CZBK\\two\\myhtml4-1.html')
ele1 = driver.find_element_by_id('div1')
ele2 = driver.find_element_by_id('div2')
ele3 = driver.find_element_by_id('div3')
ele4 = driver.find_element_by_id('div4')
# 判断页面元素是否可见,is_displayed()
# 对于style="display: none;style="visibility: hidden;页面不可见
print("ele1 is display: {}".format(ele1.is_displayed()))
print("ele2 is display: {}".format(ele2.is_displayed()))
print("ele3 is display: {}".format(ele3.is_displayed()))
print("ele4 is display: {}".format(ele4.is_displayed()))
driver.find_element_by_id('button1').click()
driver.find_element_by_id('button2').click()
print("————————————————")
print("ele1 is display: {}".format(ele1.is_displayed()))
print("ele2 is display: {}".format(ele2.is_displayed()))
print("ele3 is display: {}".format(ele3.is_displayed()))
print("ele4 is display: {}".format(ele4.is_displayed()))
driver.quit()
13、是否可操作
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>判断页面元素是否可操作</title>
</head>
<body>
<input id="input1" tpye="text" size="40" value="可操作">
<input id="input2" tpye="text" size="40" value="不可用" disabled>
<input id="input3" tpye="text" size="40" value="只读" readonly>
</body>
</html>
from selenium import webdriver
from time import sleep
"""
判断页面元素是否可用
"""
driver = webdriver.Chrome()
driver.get('D:\\CZBK\\two\\myhtml4-2.html')
ele1 = driver.find_element_by_id('input1')
ele2 = driver.find_element_by_id('input2')
ele3 = driver.find_element_by_id('input3')
# 可以通过is_enabled()方法判断页面元素是否可用;
# 如果页面元素有“disabled”属性的话,则页面元素不可用
print("ele1 is enabled {}".format(ele1.is_enabled()))
print("ele2 is enabled {}".format(ele2.is_enabled()))
print("ele3 is enabled {}".format(ele3.is_enabled()))
driver.quit()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现