环境参考: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. win7官方下载地址

    win7官方下载地址 http://microsoftstore.me/category/microsoft/windows/

  2. Oracle常见的异常处理

    总结了在操作数据库的时候常常遇见的Oracle异常以及处理方法. 代码 提示 备注 一般处理方法 ORA-01861 文字与格式字符串不匹配- ORA-00904 invalid column nam ...

  3. 使用nginx生成缩略图

    nginx中可以使用 --with-http_image_filter_module 这个模块,今天发现在github上发现国人开发的一款模块 模块同时支持 Nginx 和 tengine 本ngin ...

  4. you need to know those webs !

    J2me开发网 http://www.j2medev.com/bbs/index.asp J2me社区 http://www.j2meforums.com/forum/ csdn http://www ...

  5. 为同一部电脑设置2个IP地址

    为同一部电脑设置2个IP地址 在HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans下 点击0000.0001,000 ...

  6. Android开发之Service的远程调用

    在Andorid平台中,各个组件运行在自己的进程中,他们之间是不能相互访问的,但是在程序之间是不可避免的要传递一些对象,在进程之间相互通信.为了实现进程之间的相互通信,Andorid采用了一种轻量级的 ...

  7. iOS - AsyncSocket 的使用

    1.AsyncSocket 基于 CFSocket.GCD 进行的封装(OC). 支持 TCP 和 UDP. 完整的回调函数(用于处理各种回调事件,连接成功,断开连接,收到数据等). 需要注意的问题: ...

  8. AME_AME审批中子元素的概念和用途(概念)

    2014-05-30 Created By BaoXinjian AME: Oracle Approvals Management AME的6个元素的概念和主要作用: Attribue  ->  ...

  9. Externalizable的使用方法

    package com.itbuluoge.object; import java.io.Externalizable; import java.io.FileInputStream; import ...

  10. Python rsplit() 方法

    描述 Python rsplit() 方法通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,包括空格.换行(\n).制表符(\t)等.类似于 split() 方法,只不过是从字符串 ...