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

  1. https://www.seleniumhq.org/
  2. https://sites.google.com/a/chromium.org/chromedriver/
  3. http://www.w3school.com.cn/xpath/xpath_intro.asp

  1. 自动化测试工具,详细信息参考官网. ↩
  2. XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。w3school里的简介 ↩

selenium实例自动登陆知乎相关推荐

  1. python京东自动签到_利用python Selenium实现自动登陆京东签到领金币功能

    如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形 ...

  2. python京东自动签到领金豆_[宜配屋]听图阁 - 利用python Selenium实现自动登陆京东签到领金币功能...

    如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形 ...

  3. socket模拟http的登陆_利用 Python + Selenium 实现自动登陆签到

    工具是人手的延伸,用的好了,它可以成为我们身体的一部分,用不好,它就只是别人身体的一部分. 这是众所周知的道理,但是落实到每个人的具体实践上却是千差外别. 比如我们熟悉的 web 自动化测试工具 Se ...

  4. python利用selenium实现自动登陆网页下载内容

    最近在做一个实验,需要用到大量的源文件,需要在网站上下载,由于是一个毫无技术且重复性的工作,因此,就想利用python自动完成这件事,话不多说,直接上完整代码啦! ''' url = https:// ...

  5. 爬虫实战3:模拟登陆知乎并爬取任意帖子数据

    ​      刚学爬虫时,看到一篇文章硬核破解知乎登陆,心潮澎湃,真男人!符合我的胃口!哼哧哼哧的立刻安排!   (半个小时过后)   似乎我是弱智?很多看不懂?(百度乱搜中-)恩还有种简单的?sel ...

  6. selenium自动登录知网下载论文

    自动登录知网下载期刊论文 我想下载知网上所有关于深度学习推荐系统的论文期刊,脚本实现了,写这篇博客记录自己遇到的坑 2自动打开网页 我们通过python selenium库可以实现浏览器自动控制,首先 ...

  7. python基础编程:selenium+python实现自动登陆QQ邮箱并发送邮件功能

    本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 QQ邮 ...

  8. python webdriver 等待网页已登录_python基础编程:python+selenium实现163邮箱自动登陆的方法...

    本文介绍了 让我们先来预览一下代码运行效果吧: 首先分析163邮箱登陆页面的网页结构(按F12或单击鼠标右键选择审查元素) 1.定位到登陆框(注意登录框是一个iframe,如果不定位到iframe的话 ...

  9. winform模拟登陆网页_Python爬虫使用selenium爬取群成员信息(全自动实现自动登陆)...

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: python小爬虫 PS:如有需要Python学习资料的小伙伴可以 ...

  10. selenium自动登陆校园网wifi(含验证码处理)

    每次登陆川农wifi都要输入密码,账号,验证码.好麻烦有木有,作为一个伪技术工作者,本着装逼的原则,准备自己写个脚本自动登陆wifi,川农校园wifi验证码简单,随便处理下识别率几乎百分百,脚本实用性 ...

最新文章

  1. phpstorm xdebug本地调试断点不生效_phpstudy+phpstrom实现断点
  2. dto是什么意思_DO,DTO,VO,POJO 你知道吗?
  3. 优秀校园网站评比标准
  4. zigbee的路由器能分配网络地址吗_网络基础知识学习 小白也能变专家
  5. G6 图可视化引擎——核心概念——节点/边/Combo——内置节点——Circle
  6. 乐视云计算基于OpenStack的IaaS实践
  7. Struts2中ActionContext介绍
  8. o oia ospf 路由优先_CCNP理论之OSPF协议(二)
  9. SQL Server全局禁用及打开指定的跟踪标记
  10. html记仇表情包源码,写小本本记仇表情包
  11. c++ new delete
  12. Unity3D之NGUI基础6:UIButton按钮
  13. V.Replication and Sharding(创建主从数据库)
  14. socket编程详解,转自http://www.sme-cn.com:82/archives/669
  15. php更换wordpress用户头像,WordPress用户头像不显示的解决方法
  16. Android关机充电编译,Android6.0+关机状态下实现充电自动开机
  17. opencv 表示图像的IplImage
  18. 《手机游戏引擎架构》信息总汇
  19. Mac故障 重置PRAM或NVRAM(何时重置,如何重置)
  20. 英文论文评审意见_小弟第一篇英文论文审稿意见求助 - 论文投稿 - 小木虫 - 学术 科研 互动社区...

热门文章

  1. 在计算机编程里pi是什么意思,编程中的术语“钩子”是什么意思?
  2. 为了对电脑进行保护,已经阻止此应用
  3. 5分钟入门MP4文件格式-mp4的ftyp
  4. GIS软件——arcgis10.2制作符号并链接符号库
  5. 对标苹果开“旧机发布会”?罗永浩出任转转品牌推广大使
  6. python字典中get()函数的用法总结
  7. Intel SGX入门
  8. VTP(VLAN中继协议/虚拟局域网干道协议 VLAN Trunking Protocol)
  9. 特教学校计算机课,北京特教学校引入编程课 计算机语言为听障孩子打开一扇智能之门...
  10. 计算机论文展望未来,【计算机】总结过去,展望未来