使用Selenium进行浏览器自动化操作记录
一位经验丰富的同事交给了我一个任务:将20个IP地址添加到公司系统对应的目录下。
这个任务之前做过,并且数量是远不止20个,当时就学习Selenium并且使用Python3.6写了一个脚本用来自动化地跑;可是任务做完之后电脑由于Hyper-V服务出现了致命错误无法启动,只能重装系统,于是我的Python环境和代码就这样丢失了。
当今天重新遇到这个问题的时候,虽然任务量不是很大,但是我想还是用Python实现算了吧,毕竟也只有那么几行代码。
于是开始我的重新学习之路:
首先下载安装了Python2.7(这次下载了的是2.7版本,它默认安装到了与Program Files同级的目录下),安装完成之后我手动为当前用户添加了环境变量,再利用pip功能安装了selenium模块,于是Python2.7目录下就多了一个文件夹(名称是Selenium),然后我把代码(此处省略代码思路的思考及手写并导入记事本的过程)用IDLE开发工具打开,出现了熟悉的代码界面,我点击运行,出现了如下所示的错误:

然而这个错误是由于我主动关闭了Chrome浏览器才导致的(关闭Chrome的原因是在执行脚本之后立刻出现了Window系统错误,提示:Chromedriver.exe has stopped blabla,并且必须关闭这个错误提示才能查看浏览器细节信息,于是就只能关闭了,关闭之后就报了上面截图的这个错误),遇到这个问题之后我就在Google上找问题出现的原因,大部分Stackoverflow上的回答者给出了跟我问题描述一致的解决方案,有一些说是因为url的格式不正确(不是我的解决方案),有一些说是版本不正确。在我探索了很久之后,发现果然是版本不正确。于是我去下了当前最新的版本(Chromedriver2.37版本)。结果:执行正确。
看来版本对于Chromedriver在python环境下运行很重要。当然Selenium安装完之后是自带了对Firefox的支持,所以如果使用了Firefox那就不用担心版本问题。
使用Selenium进行浏览器自动化操作记录的更多相关文章
- splinter python浏览器自动化操作,模拟浏览器的行为
Splinter可以非常棒的模拟浏览器的行为,Splinter提供了丰富的API,可以获取页面的信息判断当前的行为所产生的结果 最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有 ...
- Python实现浏览器自动化操作
Python实现浏览器自动化操作 (2012-08-02 17:35:43) 转载▼ 最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有不少介绍,例如使用pamie,但是只是 ...
- [转载]Python实现浏览器自动化操作
原文地址:Python实现浏览器自动化操作作者:rayment 最近在研究网站自动登录的问题,涉及到需要实现浏览器自动化操作,网上有不少介绍,例如使用pamie,但是只是支持IE,而且项目也较久没 ...
- Saltstack自动化操作记录(2)-配置使用 【转】
之前梳理了Saltstack自动化操作记录(1)-环境部署,下面说说saltstack配置及模块使用: 为了试验效果,再追加一台被控制端minion机器192.168.1.118需要在master控制 ...
- Saltstack自动化操作记录(1)-环境部署【转】
早期运维工作中用过稍微复杂的Puppet,下面介绍下更为简单实用的Saltstack自动化运维的使用. Saltstack知多少Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中 ...
- Saltstack自动化操作记录(2)-配置使用
之前梳理了Saltstack自动化操作记录(1)-环境部署,下面说说saltstack配置及模块使用: 为了试验效果,再追加一台被控制端minion机器192.168.1.118需要在master控制 ...
- Saltstack自动化操作记录(1)-环境部署
早期运维工作中用过稍微复杂的Puppet,下面介绍下更为简单实用的Saltstack自动化运维的使用. Saltstack知多少Saltstack是一种全新的基础设施管理方式,是一个服务器基础架构集中 ...
- Python—selenium模块(浏览器自动化工具)
selenium可以用来完成浏览器自动化相关的操作,写一些代码制定一些基于浏览器自动化的相关操作(行为动作),当代码执行后,浏览器就会自动触发相关的事件 安装方法: pip install selen ...
- python下selenium模拟浏览器基础操作
1.安装及下载 selenium安装: pip install selenium 即可自动安装selenium geckodriver下载:https://github.com/mozilla/ge ...
随机推荐
- 爬虫(七)图片懒加载技术、selenium和PhantomJS
动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding ...
- (转)Jquery on()事件委派
今天浏览jQuery的deprecated列表,发现live()和die()在里面了,赶紧看了一下,发现从jQuery1.7开始,jQuery引入了全新的事件绑定机制,on()和off()两个函数统一 ...
- 移动端根据dpr适配
'use strict'; /** * @param {Number} [baseFontSize = 100] - 基础fontSize, 默认100px; * @param {Number} [f ...
- 第4天:scipy库
一.SciPy库概述 1.numpy提供向量和矩阵的相关操作,高级计算器 2.SciPy在统计.优化.插值.数值积分.视频转换等,涵盖基础科学计算相关问题. (额,对统计和概率,数理完全一窍不通) 3 ...
- 网络编程-day3
---恢复内容开始--- 一.缓冲区: 将程序和网络解耦 输入缓冲区 输出缓冲区 每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区. write()/send() 并不立即向 ...
- python中一些传参事情
#一个参数的传参 def hello(a): print(a+'王彦军你好')hello('hello')''' #2个参数的 def ab(a,b): print(a+'你好') ...
- VIPKID 内推---开发工程师
VIPKID 目前是K12教育领域最大的一家公司,目前已发展到6w名北美外教,服务于中国50w的小朋友,每天数十万节视频课程在线上进行. 有兴趣加入VIPKID的程序员小伙伴,请发简历到 gloryz ...
- JS获取伪元素的属性
window下的getComputedStyle属性.getPropertyValue属性 // 获取 .element:before 的 color 值 var color = window.get ...
- java 反射获取方法返回值类型
//ProceedingJoinPoint pjp //获取方法返回值类型 Object[] args = pjp.getArgs(); Class<?>[] paramsCls = ne ...
- SQL-57 使用含有关键字exists查找未分配具体部门的员工的所有信息。
题目描述 使用含有关键字exists查找未分配具体部门的员工的所有信息.CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` ...