selenium-webdriver——让chrome跑起来
1st.既然它提示没有找到chromedriver,那咱们必须先下载一个(前提你得有个chrome浏览器。。。),下载地址就是http://code.google.com/p/chromium/downloads/list,好了,下载完成后将chromedriver.exe存放在C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\Application,因为你的chrome浏览器也是安装在这里的。
2nd.他说要place it somewhere on your PATH,那'PATH'是什么呢,其实就是系统环境变量里的‘path’变量,请看以下代码:
- def self.executable_path
- @executable_path ||= (
- Platform.find_binary "chromedriver" or raise Error::WebDriverError, MISSING_TEXT
- #Platform.find_binary "chrome" or raise Error::WebDriverError, MISSING_TEXT
- )
- end
def self.executable_path@executable_path ||= (Platform.find_binary "chromedriver" or raise Error::WebDriverError, MISSING_TEXT#Platform.find_binary "chrome" or raise Error::WebDriverError, MISSING_TEXT)end
这段代码存放在chrome/service.rb,他又调用platform.find_binary函数,传入参数'chromdriver',我们再看看find_binary函数
- <FONT xmlns="http://www.w3.org/1999/xhtml">def find_binary(*binary_names)
- puts 'names:'
- puts *binary_names
- paths = ENV['PATH'].split(File::PATH_SEPARATOR)
- puts 'paths:'
- puts paths
- binary_names.map! { |n| "#{n}.exe" } if windows?
- puts 'name2:'
- puts binary_names
- binary_names.each do |binary_name|
- paths.each do |path|
- exe = File.join(path, binary_name)
- puts 'result'
- puts File.join(path, binary_name)
- return exe if File.executable?(exe)
- end
- end
- nil
- end</FONT>
在这里可以验证,错误提示中说的PATH就是环境变量,因此我们需要在环境变量的PATH中添加这个chromedriver的地址,即添加C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\Application;切记不要追加chromedriver.exe!
PS:也许你在添加环境变量后,仍没有反应,那就把你当请的cmd窗口关闭,再重新打开一个cmd窗口再执行。
转载于:https://blog.51cto.com/diaohan/1169416
selenium-webdriver——让chrome跑起来相关推荐
- python调用chrome插件_使用Python通过Selenium WebDriver打开chrome扩展
我们有类似的要求,使用Selenium WebDriver处理chrome附加组件.正如'@Aleksandar Popovic'所说,我们无法使用WebDriver点击chrome扩展图标,因为图标 ...
- Selenium WebDriver 测试Chrome浏览器
文章目录 (1)安装驱动 (2)代码测试 (3)注意事项 (1)安装驱动 Selenium WebDriver如果需要启动Chrome浏览器,需要下载对应的chromedriver驱动器. [下载地址 ...
- selenium webdriver操作chrome options、 启用无痕模式、缓存烦恼
当启用浏览器打开网页的时候,可以直接启用无痕模式,省去清理缓存这一步骤. 初始化ChromeOptions 并设置"–incognito" ChromeOptions option ...
- selenium webdriver操作chrome 启用无痕模式,摆脱清缓存烦恼
当启用浏览器打开网页的时候,可以直接启用无痕模式,省去清理缓存这一步骤. 初始化ChromeOptions 并设置"–incognito" ChromeOptions option ...
- 一行js代码识别Selenium+Webdriver及其应对方案
有不少朋友在开发爬虫的过程中喜欢使用Selenium + Chromedriver,以为这样就能做到不被网站的反爬虫机制发现. 先不说淘宝这种基于用户行为的反爬虫策略,仅仅是一个普通的小网站,使用一行 ...
- 一行js代码识别Selenium+Webdriver及其应对方案 1
有不少朋友在开发爬虫的过程中喜欢使用Selenium + Chromedriver,以为这样就能做到不被网站的反爬虫机制发现. 先不说淘宝这种基于用户行为的反爬虫策略,仅仅是一个普通的小网站,使用一行 ...
- python selenium 用法 和 Chrome headless
From: http://cuiqingcai.com/2599.html Selenium教程:https://www.yiibai.com/selenium selenium 官方参考文档:htt ...
- html设置一个连接打开多开页面,selenium多开chrome
如何使用selenium启动chrome后不关闭chrome前提是不触发close方法或quit方法. 那么可以在运行最后加一个判断.如果满足什么条件,就退出. selenium调用chrome能跟直 ...
- selenium webdriver入门
概要 WebDriver可以像用户一样驱动原生浏览器,无论是在本地服务器还是在使用Selenium服务器的远程机器上,都标志着浏览器自动化的一个飞跃. Selenium WebDriver也是控制浏 ...
- python3 selenium webdriver 启动三大浏览器Firefox,Chrome,IE
一. 安装Python3 1. 进入Python官方网站:https://www.python.org/downloads/ 下载并安装最新版本的Python(建议安装Python3) . 下面是P ...
最新文章
- 东莞网络推广浅析如何通过简化标题来提升核心关键词排名能力呢?
- 编译安装Ruby 1.9.3 安装CentOS
- 安装python模块时出现:error: Setup script exited with error: command 'gcc' failed with exit status 1...
- ftp的主动模式(port)与被动模式(PASV)
- python matplotlib.pyplot.xticks() yticks() (设置x或y轴对应显示的标签)
- C-Power 自主无人海上电力系统有望通过高效能源传输及远程高带宽通信技术,开启新的海上应用
- android通知栏如何添加按钮,如何在通知栏上放置媒体控制器按钮?
- Unknown entity (Hibernate的findById方法参数必须加上包名)
- ORA-01427: 单行子查询返回多个行 出现原因及对应防止措施
- 一个做得很好的电子产品测评类网站:Zealer
- html重置默认字体,html网页默认字体
- java hsqldb_Hsqldb入门
- excel转txt后导入mysql 20211207
- 国外RSGIS权威期刊杂志
- 基于阿里云的系统灾备方法架构与安全应急预案介绍
- CTFhub—弱密码(web)
- 交换排序算法之快速排序-C语言版(带图详细)
- underscore.js 964 --- 1103行
- 游戏开发论坛_《原神》称霸苹果「2020年度iPhone游戏奖」
- 均匀分布、正态分布、二项分布、泊松分布、指数分布
热门文章
- 一个注册表操作类,很有用!
- html给td内容加删除线,【原创】tr上加删除线-且满足一个页面多表格
- jackson 忽略多余字段_Java进阶学习:JSON解析利器JackSon
- 一个apk调用另一个apk的某个activity
- TCP-IP 用户态编程
- Vim 多行剪切、复制和删除
- 请求发送者与接收者解耦——命令模式(六)
- Linux虚拟文件系统之文件系统卸载(sys_umount())
- php管理系统模板,自定义模块后台模板
- 鸿蒙系统首发仪式,鸿蒙系统首发终端荣耀智慧屏正式亮相