环境参考: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参数

class WebDriver(executable_path='MicrosoftWebDriver.exe', capabilities=None, port=0, verbose=False, log_path=None)

尝试了以下,发现并不需要将这些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浏览器为例)的更多相关文章

  1. iNeuOS工业互联网操作系统,发布3.6.4版本:云端安全控制和实时日志功能,附Chrome、Firefox和Edge浏览器测试性能对比

    目       录 1.      概述... 2 2.      平台演示... 2 3.      云端控制和实时日志设计和技术... 2 4.      实时日志测试... 2 1.   概述 ...

  2. selenium缺少chromedriver解决方法

    1.安装好selenium,运行一段测试代码: from selenium import webdriver brower = webdriver.Chrome() brower.get('www.b ...

  3. Logistic regression中regularization失败的解决方法探索(文末附解决后code)

    在matlab中做Regularized logistic regression 原理: 我的代码: function [J, grad] = costFunctionReg(theta, X, y, ...

  4. Chrome扩展移植到Edge浏览器教程

    微软在推出Edge浏览器之初,就把能够使用扩展(extension)作为一个重要功能.在Win10一周年更新版(1607)中,这项功能正式向广大用户推出(当然,Insider用户早就测试了一段时间了) ...

  5. 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. ...

  6. Chrome Inspect调试stetho出现空白的解决方法

    stetho可以使用chrome调试webview,有网友反映国内不行,亲测了一下是有解决方法的: Chrome://inspect 打开后会发现stetho的页面: 点击inspect,如果没有Fa ...

  7. ie6,ie7,ie8 css bug兼容解决方法

    IE浏览器以不支持大量的css 属性出名,同时也因其支持的css属性中存在大量bug. 这里收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决,也希 ...

  8. ie6,ie7,ie8 css bug汇总以及兼容解决方法

    1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是 ...

  9. 【转】 IE6 IE7 IE8 css bug兼容性解决方法总结归纳

    1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是 ...

随机推荐

  1. JBoss AS 7之基本配置和部署(The Return Of The King)

    1.4 JBoss As 7基本配置 1.4.1 IP訪问控制 因默认情况下,jboss仅可通过127.0.0.1和localhost来訪问.假设你想局域网中的其他IP来訪问,你能够在standalo ...

  2. Redis学习(5)-Jedis(Java操作redis数据库技术)

    Java连接redis 一,导入jar包 Redis有什么命令,Jedis就有什么方法 设置防火墙 在Linux上面运行如下代码: 单实例:Jedis实例: package com.jedis.dem ...

  3. 转载:在PHP语言中使用JSON和将json还原成数组

    一.json_encode() 1 2 3 4 <?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); e ...

  4. PHP中curl的使用

    cURL 函数 curl_close — 关闭一个cURL会话 curl_copy_handle — 复制一个cURL句柄和它的所有选项 curl_errno — 返回最后一次的错误号 curl_er ...

  5. JDK 生成数字证书

    JDK(keytool.exe)生成数字证书 2010-11-21 15:52 QUOTE: keytool JAVA是个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数 ...

  6. 用浏览器访问WCF

    在开发的时候,为客户端编写代码访问WCF的方式,我们应该比较熟悉,主要是添加一个代理,然后通过这个代理进行访问. 如果用浏览器访问WCF呢?(其实最终是想在JS里面访问)用浏览器访问.测试Web Se ...

  7. pythonl练习笔记——multiprocessing 多进程拷贝文件

    分两份拷贝文件,父进程拷贝文件的前半部分,子进程拷贝文件的后半部分. import os import time #获取文件大小 size = os.path.getsize('wait.py') # ...

  8. Python学习笔记010——作用域

    1 作用域的分类 全局变量:在文件中所有函数外部创建的变量,整个文件可见 局部变量:在函数.类等内部创建的变量且仅用在函数内部的变量: 函数的形参也是局部变量. 注:所有的变量必须是先创建,再使用. ...

  9. 转 ShowSlow+Yslow页面前端性能测试环境搭建

    ----//工具介绍 Yslow:YSlow是Yahoo发布的一款基于FireFox的插件. YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化. ShowSlo ...

  10. C语言中的指针和数组

    下面的内容节选自由我所执笔的会议记录.对于本文的不足之处,各位可以提出自己的看法. Q1:指针和数组到底是怎么一回事? A:指针和数组有本质的不同.指针就是一个内存地址,在32位系统下,一个指针永远占 ...