环境参考: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. 用BeanUtilsDate类型值为空报错的解决方法

    除BeanUtils外还有一个名为PropertyUtils的工具类,它也提供copyProperties()方法,作用与BeanUtils的同名方法十分相似,主要的区别在于后者提供类型转换功能,即发 ...

  2. gdb 读取elf

    在make file中找到ld,然后将其换成 gdb, 如本例中LINKER = /usr/cygnus/xscale-020523/H-sparc-sun-solaris2.5/bin/xscale ...

  3. Android逆向之旅---带你爆破一款应用的签名验证问题

    一.前言 在之前的文章中说过Android中的安全和破解是相辅相成的,为了防止被破解.非常多应用做了一些防护策略.可是防护策略也是分等级.一般简单的策略就是混淆代码和签名校验.而对于签名校验非常多应用 ...

  4. python之函数用法divmod

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法divmod #http://python.jobbole.com/81480/ #d ...

  5. default

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  6. IT忍者神龟之 oracle行转列、列转行

    一.行转列 须要将例如以下格式 转换为: 这就是最常见的行转列,主要原理是利用decode函数.聚集函数(sum).结合group by分组实现的 create table test( id varc ...

  7. pat1040:有几个PAT

    https://www.patest.cn/contests/pat-b-practise/1040 #include "stdio.h" int main() { int p = ...

  8. ZOJ 2314 有上下界的网络流

    problemCode=2314">点击打开链接 题意:给定m条边和n个节点.每条边最少的流量和最多的流量.保证每一个节点的出入流量和相等,问能够形成吗,能够则输出每条边的流量 思路: ...

  9. mysql优化利器之explain

    一.语法 {EXPLAIN | DESCRIBE | DESC} tbl_name [col_name | wild] {EXPLAIN | DESCRIBE | DESC} [explain_typ ...

  10. Opcode查看利器之vld

    简介 在PHP的生命周期中 词法分析(zend_language_scanner),将PHP代码转换为语言片段(Tokens) 语法分析(zend_language_parser)将Tokens转换成 ...