Python selenium操作浏览器
渴望力量的哈士奇 人气:0关闭 driver 启动的浏览器
上一章节文末,我们介绍了关于两种关闭浏览器的方式,这里不做过多的复述。(实在是这一章节的内容太少了)
在 selenium 中,提供了两种关闭 driver 启动的浏览器的方式:
- close() 方法:该方法可以关闭浏览器,但是它关闭的只是浏览器的窗口,由 driver 启动的浏览器的进程依然还在,会占用一定的资源。
- quit() 方法:该方法同样可以关闭浏览器,但是它在关闭浏览器的窗口的同时,也会 kill 掉 driver 启动的浏览器的进程。
ps:以上两种方法,close() 方法适合在我们启动浏览器结束了一个用例的场景之后,仍需执行其他的自动化测试用例的时候使用;而 quit() 方法则适合在已经执行完所有用例之后使用。
代码示例如下:
# coding:utf-8 import time from selenium import webdriver # chrome_driver = "/Users/workspace/driver/chromedriver" # driver = webdriver.Chrome(executable_path=chrome_driver) driver = webdriver.Chrome() driver.get("https://blog.csdn.net/") time.sleep(1) driver.quit()
运行结果如下:
浏览器最大化与设置浏览器窗口大小
在我们的测试过程中,使用一些基于图像或者坐标辅助工具的时候,就会需要浏览器在每次测试的时候都保持着最大化,以便于能够在同一个分辨率下进行图像的比对、使用做点进行的点选等等。所以接下来就看看如何将浏览器最大化与设置特定的分辨率大小。
浏览器最大化
使用 maximize_window() 方法将浏览器最大化,代码示例如下:
# coding:utf-8 import time from selenium import webdriver # chrome_driver = "/Users/workspace/driver/chromedriver" # driver = webdriver.Chrome(executable_path=chrome_driver) driver = webdriver.Chrome() time.sleep(1) driver.maximize_window() driver.get("https://blog.csdn.net/") time.sleep(1) driver.quit()
运行结果如下:
这就是一个最大化的操作功能。
设置浏览器窗口大小
都是最大化的场景可能会出现图像、坐标定位不精确的情况,所以当我们希望能够在同一浏览器大小的情况下去运行用例,这样就会比较容易进行图像比对的结合,从而提升灵活性;或者也想测试一下能够在不同的浏览器大小场景下,访问我们的测试站点。对测试页面进行截个图、兼容性是否正常等等等等…
使用 "set_window_size()" 方法来设置窗口的大小。 代码示例如下:
# coding:utf-8 import time from selenium import webdriver # chrome_driver = "/Users/workspace/driver/chromedriver" # driver = webdriver.Chrome(executable_path=chrome_driver) driver = webdriver.Chrome() time.sleep(1) driver.set_window_size(360, 480) time.sleep(1) driver.maximize_window() driver.get("https://blog.csdn.net/") time.sleep(1) driver.quit()
运行结果如下:
浏览器的前进、后退与刷新页面
PS:前进和后退使用的是非常少的。
- 使用 back() 方法进行浏览器页面的后退。
- 使用 forword() 方法进行浏览器页面的前进。
- 使用 refresh() 方法进行浏览器页面的刷新。
代码示例如下:
# coding:utf-8 import time from selenium import webdriver # chrome_driver = "/Users/workspace/driver/chromedriver" # driver = webdriver.Chrome(executable_path=chrome_driver) driver = webdriver.Chrome() driver.maximize_window() driver.get("https://blog.csdn.net/weixin_42250835?type=blog") time.sleep(2) driver.get("https://blog.csdn.net/") time.sleep(2) driver.back() time.sleep(1) driver.forward() time.sleep(1) driver.refresh() time.sleep(1) driver.quit()
运行结果如下:
加载全部内容