控制浏览器操作
控制浏览器窗口大小
在测试过程中, 我们在打开浏览器后, 根据需求可自定义调整浏览器的尺寸大小. 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