selenium初探:WebDriverException解决方法探索(以Chrome浏览器|IE浏览器|Edge浏览器为例)
环境参考:win10-64位, python3.6.3, selenium3.7
在初试selenium运行以下代码时
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("https://cn.bing.com/")
报错WebDriverException
selenium.common.exceptions.WebDriverException: Message: 'IEDriverServer.exe' executable needs to be in PATH. Please download from http://selenium-release.storage.googleapis.com/index.html and read up at https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver
知乎有一些参考意见
https://www.zhihu.com/question/49568096
后来自己看了下相关的代码,以Edge为例,其实我们需要改得就是executable_path参数
尝试了以下,发现并不需要将这些webdriver添加至浏览器安装目录,具体操作如下
1.下载并解压相应的webdriver
IE浏览器:http://selenium-release.storage.googleapis.com/index.html
Edge浏览器:http://go.microsoft.com/fwlink/?LinkId=619687
chrome浏览器:http://chromedriver.storage.googleapis.com/index.html
值得一提的是,chrome没有找到官方win64的webdriver
2.在browser = webdriver.Ie()的括号内添加相应的webdriver的路径信息
如果不添加路径信息就得把相应的webdriver放到python的安装文件夹
from selenium import webdriver # 如果路径带中文或者带'\U'路径前加r,如webdriver的路径为'\User\XXX\XXXdriver',则这里路径为r"\User\XXX\XXXdriver"
# IE浏览器,以下是等价的,即webdriver不是一定要放到相应浏览器的安装目录,可以将我们要用的webdriver放在一起便于管理
#browser = webdriver.Ie(r"E:\software\编程相关\browserDrivers\IEDriverServer.exe")
#browser = webdriver.Ie(r"C:\Users\TvVc\Desktop\IEDriverServer.exe")
#browser = webdriver.Ie("C:\Program Files (x86)\Internet Explorer\IEDriverServer.exe")
#browser = webdriver.Ie() #需要将IEDriverServer.exe放置在python的安装文件夹,比如"C:\Python36\IEDriverServer.exe" # Chrome浏览器,没有找到官方win64位的webdriver
#browser = webdriver.Chrome(r"E:\software\编程相关\browserDrivers\chromedriver.exe")
#browser = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")
#browser = webdriver.Chrome() #需要将chromedriver.exe放在python的安装文件夹如"C:\Python36\chromedriver.exe" # Edge浏览器
#browser = webdriver.Edge("C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\MicrosoftWebDriver.exe")
browser = webdriver.Edge(r"E:\software\编程相关\browserDrivers\MicrosoftWebDriver.exe")
#browser = webdriver.Edge() #需要将MicrosoftWebDriver.exe放在python的安装文件夹如"C:\Python36\MicrosoftWebDriver.exe"
browser.get("https://cn.bing.com/")
3.调试运行我们的代码!

然后便会跳转到我们设定的url了
selenium初探:WebDriverException解决方法探索(以Chrome浏览器|IE浏览器|Edge浏览器为例)的更多相关文章
- iNeuOS工业互联网操作系统,发布3.6.4版本:云端安全控制和实时日志功能,附Chrome、Firefox和Edge浏览器测试性能对比
目 录 1. 概述... 2 2. 平台演示... 2 3. 云端控制和实时日志设计和技术... 2 4. 实时日志测试... 2 1. 概述 ...
- selenium缺少chromedriver解决方法
1.安装好selenium,运行一段测试代码: from selenium import webdriver brower = webdriver.Chrome() brower.get('www.b ...
- Logistic regression中regularization失败的解决方法探索(文末附解决后code)
在matlab中做Regularized logistic regression 原理: 我的代码: function [J, grad] = costFunctionReg(theta, X, y, ...
- Chrome扩展移植到Edge浏览器教程
微软在推出Edge浏览器之初,就把能够使用扩展(extension)作为一个重要功能.在Win10一周年更新版(1607)中,这项功能正式向广大用户推出(当然,Insider用户早就测试了一段时间了) ...
- windows tensorboard http://0.0.0.0:6006 无法访问 解决方法 - using chrome and localhost as ip
启动命令: tensorboard --logdir="tensorboard" 启动后显示 Starting TensorBoard b'47' at http://0.0.0. ...
- Chrome Inspect调试stetho出现空白的解决方法
stetho可以使用chrome调试webview,有网友反映国内不行,亲测了一下是有解决方法的: Chrome://inspect 打开后会发现stetho的页面: 点击inspect,如果没有Fa ...
- ie6,ie7,ie8 css bug兼容解决方法
IE浏览器以不支持大量的css 属性出名,同时也因其支持的css属性中存在大量bug. 这里收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决,也希 ...
- ie6,ie7,ie8 css bug汇总以及兼容解决方法
1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是 ...
- 【转】 IE6 IE7 IE8 css bug兼容性解决方法总结归纳
1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是 ...
随机推荐
- win7官方下载地址
win7官方下载地址 http://microsoftstore.me/category/microsoft/windows/
- Oracle常见的异常处理
总结了在操作数据库的时候常常遇见的Oracle异常以及处理方法. 代码 提示 备注 一般处理方法 ORA-01861 文字与格式字符串不匹配- ORA-00904 invalid column nam ...
- 使用nginx生成缩略图
nginx中可以使用 --with-http_image_filter_module 这个模块,今天发现在github上发现国人开发的一款模块 模块同时支持 Nginx 和 tengine 本ngin ...
- you need to know those webs !
J2me开发网 http://www.j2medev.com/bbs/index.asp J2me社区 http://www.j2meforums.com/forum/ csdn http://www ...
- 为同一部电脑设置2个IP地址
为同一部电脑设置2个IP地址 在HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans下 点击0000.0001,000 ...
- Android开发之Service的远程调用
在Andorid平台中,各个组件运行在自己的进程中,他们之间是不能相互访问的,但是在程序之间是不可避免的要传递一些对象,在进程之间相互通信.为了实现进程之间的相互通信,Andorid采用了一种轻量级的 ...
- iOS - AsyncSocket 的使用
1.AsyncSocket 基于 CFSocket.GCD 进行的封装(OC). 支持 TCP 和 UDP. 完整的回调函数(用于处理各种回调事件,连接成功,断开连接,收到数据等). 需要注意的问题: ...
- AME_AME审批中子元素的概念和用途(概念)
2014-05-30 Created By BaoXinjian AME: Oracle Approvals Management AME的6个元素的概念和主要作用: Attribue -> ...
- Externalizable的使用方法
package com.itbuluoge.object; import java.io.Externalizable; import java.io.FileInputStream; import ...
- Python rsplit() 方法
描述 Python rsplit() 方法通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,包括空格.换行(\n).制表符(\t)等.类似于 split() 方法,只不过是从字符串 ...