selenium实例自动登陆知乎
selenium实例自动登陆知乎
工作中会时常遇到重复劳动的事情,比如填写工时。此时你会有几种选择:
1. 手动填写
2. 程序自动填写
想偷懒当然就选了第二种。这里使用selenium1来控制浏览器自动浏览填写来代替手工。当然你也可以直接用get/post请求直接提交数据,但前提你要花很多时间去研究这些api的使用,还有各种参数的生成。
环境配置
- win10 64位系统
- Python3.6.2
- Chrome浏览器
步骤
1.使用pip安装selenium
pip install selenium
2.下载并配置selenium的Chrome驱动
https://chromedriver.storage.googleapis.com/index.html?path=2.35/
我这里下载的是chromedriver_win32.zip
解压后将chromedriver.exe拷贝到任意一个环境变量的目录,我的python安装目录已经配到环境变量里面了,所以我只需要将其拷贝到python安装目录。
打开CMD,输入命令chromedriver,看到下面输出说明driver已经正确配置
3.编写代码
这里主要用到xpath2来定位element
from selenium import webdriver#初始化driver
driver = webdriver.Chrome()
#打开知乎登录页面
driver.get('https://www.zhihu.com/signup')
#默认是注册界面,这里需要先找到切换登录的按钮
signup_switch_bt = driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[2]/span')
#如果内容显示登录,则证明在注册页面,需要点击一下切换到登录页面
if signup_switch_bt.text == '登录':signup_switch_bt.click()
#找到填写用户名的输入框
uname_textfield = driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/div[1]/div[2]/div[1]/input')
#找到填写密码的输入框
pwd_textfield = driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/div[2]/div/div[1]/input')
#找到登录按钮
signup_bt = driver.find_element_by_xpath('//*[@id="root"]/div/main/div/div/div/div[2]/div[1]/form/button')
#填写用户名,需要替换为你的用户名
uname_textfield.send_keys('user_name')
#填写密码,需要替换为你的密码
pwd_textfield.send_keys('your_passwd')
#点击登录
signup_bt.click()
总结
本文使用selenium,完成了知乎的自动登录功能。示例代码较为简单,没有加入对网页是否加载完成的判断,没有对异常处理,没有解决验证码检验,仅作为示例所用。
Other
selenium的使用可能会遇到:
1.IE浏览器配置问题:我64位的电脑不能使用64位的IE driver,还有IE浏览器需要设置一些选项
2.网页如果使用了Frame,并且要定位的element再Frame里面,需要用api:driver.switch_to.frame(‘leftFrame’)切换后才能够定位。
Reference
- https://www.seleniumhq.org/
- https://sites.google.com/a/chromium.org/chromedriver/
- http://www.w3school.com.cn/xpath/xpath_intro.asp
- 自动化测试工具,详细信息参考官网. ↩
- XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。w3school里的简介 ↩
selenium实例自动登陆知乎相关推荐
- python京东自动签到_利用python Selenium实现自动登陆京东签到领金币功能
如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形 ...
- python京东自动签到领金豆_[宜配屋]听图阁 - 利用python Selenium实现自动登陆京东签到领金币功能...
如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形 ...
- socket模拟http的登陆_利用 Python + Selenium 实现自动登陆签到
工具是人手的延伸,用的好了,它可以成为我们身体的一部分,用不好,它就只是别人身体的一部分. 这是众所周知的道理,但是落实到每个人的具体实践上却是千差外别. 比如我们熟悉的 web 自动化测试工具 Se ...
- python利用selenium实现自动登陆网页下载内容
最近在做一个实验,需要用到大量的源文件,需要在网站上下载,由于是一个毫无技术且重复性的工作,因此,就想利用python自动完成这件事,话不多说,直接上完整代码啦! ''' url = https:// ...
- 爬虫实战3:模拟登陆知乎并爬取任意帖子数据
刚学爬虫时,看到一篇文章硬核破解知乎登陆,心潮澎湃,真男人!符合我的胃口!哼哧哼哧的立刻安排! (半个小时过后) 似乎我是弱智?很多看不懂?(百度乱搜中-)恩还有种简单的?sel ...
- selenium自动登录知网下载论文
自动登录知网下载期刊论文 我想下载知网上所有关于深度学习推荐系统的论文期刊,脚本实现了,写这篇博客记录自己遇到的坑 2自动打开网页 我们通过python selenium库可以实现浏览器自动控制,首先 ...
- python基础编程:selenium+python实现自动登陆QQ邮箱并发送邮件功能
本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 QQ邮 ...
- python webdriver 等待网页已登录_python基础编程:python+selenium实现163邮箱自动登陆的方法...
本文介绍了 让我们先来预览一下代码运行效果吧: 首先分析163邮箱登陆页面的网页结构(按F12或单击鼠标右键选择审查元素) 1.定位到登陆框(注意登录框是一个iframe,如果不定位到iframe的话 ...
- winform模拟登陆网页_Python爬虫使用selenium爬取群成员信息(全自动实现自动登陆)...
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: python小爬虫 PS:如有需要Python学习资料的小伙伴可以 ...
- selenium自动登陆校园网wifi(含验证码处理)
每次登陆川农wifi都要输入密码,账号,验证码.好麻烦有木有,作为一个伪技术工作者,本着装逼的原则,准备自己写个脚本自动登陆wifi,川农校园wifi验证码简单,随便处理下识别率几乎百分百,脚本实用性 ...
最新文章
- phpstorm xdebug本地调试断点不生效_phpstudy+phpstrom实现断点
- dto是什么意思_DO,DTO,VO,POJO 你知道吗?
- 优秀校园网站评比标准
- zigbee的路由器能分配网络地址吗_网络基础知识学习 小白也能变专家
- G6 图可视化引擎——核心概念——节点/边/Combo——内置节点——Circle
- 乐视云计算基于OpenStack的IaaS实践
- Struts2中ActionContext介绍
- o oia ospf 路由优先_CCNP理论之OSPF协议(二)
- SQL Server全局禁用及打开指定的跟踪标记
- html记仇表情包源码,写小本本记仇表情包
- c++ new delete
- Unity3D之NGUI基础6:UIButton按钮
- V.Replication and Sharding(创建主从数据库)
- socket编程详解,转自http://www.sme-cn.com:82/archives/669
- php更换wordpress用户头像,WordPress用户头像不显示的解决方法
- Android关机充电编译,Android6.0+关机状态下实现充电自动开机
- opencv 表示图像的IplImage
- 《手机游戏引擎架构》信息总汇
- Mac故障 重置PRAM或NVRAM(何时重置,如何重置)
- 英文论文评审意见_小弟第一篇英文论文审稿意见求助 - 论文投稿 - 小木虫 - 学术 科研 互动社区...
热门文章
- 在计算机编程里pi是什么意思,编程中的术语“钩子”是什么意思?
- 为了对电脑进行保护,已经阻止此应用
- 5分钟入门MP4文件格式-mp4的ftyp
- GIS软件——arcgis10.2制作符号并链接符号库
- 对标苹果开“旧机发布会”?罗永浩出任转转品牌推广大使
- python字典中get()函数的用法总结
- Intel SGX入门
- VTP(VLAN中继协议/虚拟局域网干道协议 VLAN Trunking Protocol)
- 特教学校计算机课,北京特教学校引入编程课 计算机语言为听障孩子打开一扇智能之门...
- 计算机论文展望未来,【计算机】总结过去,展望未来