解决Python+selenium 自动化测试打开浏览器自动关闭问题适用于(Chrome和Edge)
Posted 敲代码的李白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Python+selenium 自动化测试打开浏览器自动关闭问题适用于(Chrome和Edge)相关的知识,希望对你有一定的参考价值。
option = webdriver.EdgeOptions()
option.add_experimental_option("detach", True)
driver = webdriver.Edge('C:/Program Files (x86)/Microsoft/Edge/Application/msedgedriver.exe',options=option)
只需要上面这三行就可以解决
msedgedriver.exe是Edge自动化测试的驱动 下载地址: Microsoft Edge WebDriver - Microsoft Edge Developerhttps://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads
查看自己当前浏览器版本,右上角三个点 然后帮助与反馈 关于Microsoft Edge
根据自己机器类型选择下载完后把msedgedriver.exe放入Edge根目录 上面路径要跟你本地msedgedriver.exe路径一致
然后运行就可以了 Chrome和Edge相同需要更换Chrome的自动化测试驱动 下载地址:
CNPM Binaries Mirror (npmmirror.com)https://registry.npmmirror.com/binary.html?path=chromedriver/
option = webdriver.ChromeOptions()
option.add_experimental_option("detach", True)
driver = webdriver.Chrome('C:/Program Files/Google/Chrome/Application/chromedriver.exe',options=option)
也是下载对应浏览器版本的驱动放到Chrome根目录 上面路径替换本地chromedriver.exe所在位置
需要关闭时加上
sleep(5) #这个会让程序暂时等待 里面设置等待几秒 不加这个 打开浏览器就执行下面的关闭了 根据个人需求来配置
driver.quit() # 退出!
Python+Selenium自动化测试框架-打开和关闭浏览器(Firefox/IE/Chrome)
#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com")
driver.quit()
以下逐行的解释下代码的含义
1. #coding=utf-8
为了防止乱码问题,以及方便的在程序中添加中文注释,把编码统一成 UTF-8。 注意等号两边不要留空格,否则将不起作用。
也可以写成:# -*- coding: utf-8 -*-
2. from selenium import webdriver
导入 Selenium 的 webdriver 包,只有导入 webdriver 包我们才能使用 webdriver API 进行自动化脚本的开发。在 Python 下面通过 from... Import ...或 import...引入包,更专业的叫法为:模组(modules)。
3. driver = webdriver.Chrome()
初始化一个火狐浏览器的实例driver,即:将控制的 webdriver 的 Firefox 赋值给 browser;获得了浏览器对象才可以启动浏览器,打开网址,Chrome 是默认已经在 Selenium webdriver 包里了,所以可以直接调用。当然也可以调用 Ie或 Firefox ,不过要先安装相关的浏览器驱动才行。
4. driver.maximize_window()
最大化浏览器。
5. driver.get("https://www.baidu.com")
获得浏览器对象后,通过 get()方法,可以向浏览器发送网址(URL)。
6. driver.quit()
退出并关闭窗口的每一个相关的驱动程序
运行结果:
安装浏览器驱动:
WebDriver 支持 Firefox (FirefoxDriver)、IE (InternetExplorerDriver)、Opera (OperaDriver) 和 Chrome(ChromeDriver)。对 Safari 的支持由于技术限制在本版本中未包含,但是可以使用 SeleneseCommandExecutor模拟。它还支持 Android (AndroidDriver)和 iPhone (IPhoneDriver) 的移动应用测试。除此之外它还包括一个基于 HtmlUnit 的无界面实现,相关驱动为 HtmlUnitDriver。
各个浏览器驱动下载地址:
https://code.google.com/p/Selenium/downloads/list
下载浏览器驱动程序后,将其放置到环境变量path中Python设置的路径下,与python.exe同一级目录。
以上是关于解决Python+selenium 自动化测试打开浏览器自动关闭问题适用于(Chrome和Edge)的主要内容,如果未能解决你的问题,请参考以下文章
学习《selenium2自动化测试基于python》遇到的问题
Python+Selenium自动化测试框架-打开和关闭浏览器(Firefox/IE/Chrome)
python的selenium自动化打开chrome后自动和手工混合操作?