浏览器的大小控制
很多时候我们希望打开浏览器后,它能够全屏显示,也就是浏览器最大化。WebDriver提供了maximize_window()方法来将浏览器最大化。代码如下:
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
driver.maximize_window()
sleep(1)
driver.quit()
运行代码打开浏览器之后往往默认就是最大化显示,看不到maximize_window()方法的效果。有时希望打开浏览器后在指定的尺寸下运行,如800×600,WebDriver提供了set_window_size()方法来控制浏览器的大小。代码如下:
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
sleep(1)# 使用set_window_size()方法控制浏览器的大小
driver.set_window_size(800,600)
sleep(1)# 使用maximize_window()方法使浏览器全屏
driver.maximize_window()
sleep(1)
driver.quit()
运行代码,浏览器默认打开时为最大化显示,然后通过set_window_size()方法使其变为800×600的尺寸显示,之后通过maximize_window()方法使其又变为最大化显示。
浏览器的前进与后退
在通过浏览器访问网页时,有时会借助浏览器的前进与后退按钮查看浏览历史,WebDriver提供了forward()与back()方法来控制浏览器的前进与后退。
控制浏览器前进与后退的代码如下:
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("https://cn.bing.com/")# back()和forward()
sleep(3)
print("访问学术页")
second_url = "https://cn.bing.com/academic/?FORM=Z9LH2"
print("send page is %s" %(second_url))
driver.get(second_url)
sleep(1)
print("返回到Bing首页")
driver.back()
sleep(1)
print("再前进到学术页")
driver.forward()
sleep(1)
driver.quit()
以上代码通过单击Bing首页的“学术”超级链接,然后单击后退按钮,再单击前进按钮来控制浏览器的前进(forward()方法)与后退(back()方法),并且通过print()方法在控制台窗口查看程序的运行的情况。
页面刷新
日常访问页面时,常常用到刷新(F5)功能来刷新页面。WebDriver提供了refresh()方法来刷新页面,代码如下:
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("https://cn.bing.com/")
sleep(2)
driver.refresh()
sleep(2)
driver.quit()
获取页面URL地址与标题
WebDriver提供的current_url与title可以获取当前页面的URL地址与标题,这样在实际测试过程中,可以帮助我们校验实际结果是否与期望结果一致。
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("https://cn.bing.com/")
print("==========The first page ============")# 打印Bing首页的title
First_Title = driver.title
First_Url = driver.current_url
print("The first page Tilte is: %s" % First_Title)
print("The first page Url is: %s" % First_Url)
print("==========The target page ============")
driver.find_element_by_xpath("//a[@id='scpl2']").click()# 输出“学术”页的title
sleep(2)
Second_Title = driver.title
Second_Url = driver.current_url
print("The second page tilte is: %s" % Second_Title)
print("The first page Url is: %s" % First_Url)
Expect_Title = "Bing 学术"
if Second_Title == Expect_Title:
print(True)
else:
print(False)
driver.quit()
获取浏览器类型
Selenium实现的自动化测试脚本,在实际过程中常常会与CI平台进行集成。当自动化测试程序运行失败时,如果通过测试结果知道自动化程序是在哪种类型的浏览器上运行失败的,则为我们排查问题提供了一个方向。
WebDriver提供name来获取浏览器的类型,具体代码如下:
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")#输出浏览器的类型
Browser_Name = driver.name
print("The Browser is: %s" % Browser_Name)
driver.quit()
运行代码后,输出的结果为firefox。
from seleniumimport webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")#输出浏览器的类型
Browser_Name = driver.name
print("The Browser is: %s" % Browser_Name)
driver.quit()
运行结果为:chrome
关闭当前窗口与退出浏览器
WebDriver提供了close()与quit()方法用来关闭窗口与浏览器。
·driver.close():关闭当前窗口;
·driver.quit():退出浏览器,即关闭所有窗口。
网友评论