Selenium3 + Python3自动化测试系列三——控制浏…
2019-04-11 10:09:40来源:博客园 阅读 ()
控制浏览器操作
控制浏览器窗口大小
在测试过程中,我们在打开浏览器后,根据需求可自定义调整浏览器的尺寸大小。WebDriver提供了set_window_size()方法来设置浏览器的大小。
如果页面没有最大化,可以调用driver.maximize_window()将浏览器最大化,相当于点击了页面右上角的最大化按钮,maximize_window()方法不需要参数。
值得注意的是,在定位元素的时候,有些网页如果不是全屏展示时,将有可能定位不准!!!
下面举例源码如下:
from selenium.webdriver import Chrome import time driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe") driver.get('https://www.baidu.com') #根据需求调整浏览器的尺寸,调整窗口大小尺寸为(800 * 720)。 driver.set_window_size(480,800) #调整浏览器窗口最大化 driver.maximize_window() time.sleep(5) driver.quit()
控制浏览器前进、后退
在当前页面打开一个新的链接后,如果想回退到前一个页面,使用如下driver.back(),相当于点击了浏览器的后退按钮
和back操作对应的是浏览器前进操作driver.forward(),相当于点击了浏览器的前进按钮。
driver.back() //回到上一个页面
driver.forward() //切换到下一个页面
下面举例源码如下:
from selenium.webdriver import Chrome import time driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe") first_url = 'https://www.baidu.com' driver.get(first_url) time.sleep(5) second_url = 'https://news.baidu.com' driver.get(second_url) time.sleep(5) #返回(后退)到百度首页 driver.back() time.sleep(5) #前进到新闻页 driver.forward() time.sleep(5) driver.quit()
刷新页面
有时页面过期后,网页上显示的信息可能不是最新的,需要对页面进行刷新,使用refresh()方法刷新页面,相当于点击浏览器的刷新按钮。
driver.refresh() #刷新当前页面
屏幕截图
自动化用例是由程序去执行的,因此有些时候打印的错误信息并不十分明确。
如果在脚本执行出错的时候能够对当前窗口截图保存,那么通过图片就可以非常直观的看出出错的原因。
webdriver提供了截图函数get_screenshot_as_file()来截取当前窗口:
from selenium.webdriver import Chrome import time driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe") driver.get('https://www.baidu.com') #截图并保存至D盘根目录下图片名命名为test.png driver.get_screenshot_as_file("D:/test.png") time.sleep(5) driver.quit()
这里列举了几个常用的控制浏览器操作,其他浏览器操作可另行参考网上其他资料。
原文链接:https://www.cnblogs.com/wuweiblogs/p/10580410.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:元类metaclass
下一篇:字符编码
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- python3 enum模块的应用 2019-08-13
- python3 之 趣味数学题(爱因斯坦) 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash