随笔 - 301  文章 - 27  评论 - 8  阅读 - 10万

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()






posted on   寻不到花的蝶  阅读(213)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示