selenium自动化测试,使用的是python3.6,
IE浏览器版本:11 ,IEDriverServer版本:Win64_3.0.0
尝试用以下代码启动ie浏览器,运行结果报错。
#coding=utf-8
from selenium import webdriver
driver=webdriver.Ie()
driver.maximize_window()
driver.implicitly_wait(5)
driver.get('https://www.baidu.com/')
报错截图如下:
百度查询,说是设置问题,整理如下:
1、internet选项,安全页中,4个区域的启用保护模式的勾选都去掉或都勾上;
2、IE页面缩放比例调整为100%;
3、下载IEDriverServer.exe文件,放到IE浏览器的安装路径下,并把该目录配置到环境变量 中;
配置完后,再运行代码仍然报错。
然后,又尝试修改代码如下。运行成功
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
#create capabilities
capabilities = DesiredCapabilities.INTERNETEXPLORER
#delete platform and version keys
capabilities.pop("platform", None)
capabilities.pop("version", None)
#start an instance of IE
driver = webdriver.Ie(executable_path="C:\\your\\path\\to\\IEDriverServer.exe", capabilities=capabilities)
driver.get("http://10.3.231.64:7001/pension_sec/")
Selenium通过WebDriver操控浏览器,WebDriver不单是远程控制接口,也是W3C的推荐标准详见https://www.w3.org/TR/webdriver/。
Capabilities(功能)是WebDriver支持的标准命令之外的扩展命令,用于控制端与浏览器端之间对一些特性进行通讯,控制端可以使用Capabilities定义浏览器端创建新会话时需要满足的一些特性。浏览器端也可以用Capabilities描述会话所支持的特性集。
WebDriver支持的Capabilities分为两类,
Message: session not created exception: Missing or invalid capabilities (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.19044 x86_64)
问题描述:selenium.common.exceptions.SessionNotCreatedException: Message: session not created exception: Missing or invalid capabilities。
之前安装了其它第三包把selenium版本更新到了4.x.x。猜测这个版本对chrome版本有最低要求。经过升级chrome版本与chromedriver也确实能正常。显示不是chromedriver与chrome版本不兼容问题。后面脑回路,终于知道原因。2)升级chrome与chromedriver。
Capabilities是由客户端发送给Appium服务器端的用来告诉服务器去启动哪种我们想要的会话的一套键值对集合。当中也有一些键值对是用来在自动化的过程中修改服务器端的行为方式。
必填的项目:
deviceName :我无论填写什么值,在我机器上都可以跑通测试,但是这项又是必填。我用得Appium版本是V1.2.2。
app :如果填写了,appium会在目标机器上安装测试目