1、前言

主要用到python的selenium库,通过模仿浏览器行为+定位登录所需的标签位置,实现网页登录功能.最后在码云(gitee)上测试自动登录功能.

2、selenium定位网页元素

关于selenium的使用前准备可以看到我之前的一篇文章python网络爬虫--下载图片.

我们有许多方法对页面的元素进行定位,对于不同的元素,我们使用最优的定位方法即可。Selenium提供了下面的方法进行元素定位:

  • find_element_by_id
  • find_element_by_name
  • find_element_by_tag_name
  • find_element_by_class_name
  • find_element_by_css_selector

通过一个例子来大概说明怎么使用这些方法

<html><body><form id="loginForm"><input name="username" type="text" /><input name="password" type="password" /><input name="continue" type="submit" value="Login" /></form></body>
<html>

2.1 根据Name定位

userName = driver.find_element_by_name("username")

在定位到元素后,我们要将对应的用户名填入表单,使用send_keys方法

userName.send_keys("UserName")

2.2 根据css选择器定位

passWord = driver.find_element_by_css_selector("input[type='password']")
passWord.send_keys("PassWord")

3、Example

通过模拟登录码云(gitee),测试是否成功

首先,在浏览器输入地址https://gitee.com/login,进入登录界面

然后,进入开发者模式,找到表单对应的元素.
从以下三张图可以看到用户名密码登录按钮分别对应的元素.然后通过上面介绍的元素选择方法,将对应的值提供给表单即可.

具体代码如下:

from selenium import webdriver
import timedef main():url = "https://gitee.com/login"# 这里改为你的chromedriver地址ChromeDriverPath = "path/to/chromedriver"driver = webdriver.Chrome(executable_path=ChromeDriverPath)driver.get(url)# 这里将UserName改为你自己的driver.find_element_by_id("user_login").send_keys("UserName")# 修改PassWorddriver.find_element_by_id("user_password").send_keys("PassWord")# 获取到登录按钮的driver后,使用click()函数,模拟点击buttondriver.find_element_by_css_selector("input[name='commit']").click()time.sleep(20)driver.quit()if __name__ == "__main__":main()

python网络爬虫--网页登录相关推荐

  1. python 网页版笔记_系统学习下python网络爬虫 笔记一

    系统学习下python网络爬虫的知识 1.爬虫的定义 Web Spider,把互联网定义为一个蜘蛛网,网络蜘蛛通过网页的链接地址来寻找网页. 具体过程:从网站的某一个网页(通常是首页)开始,读取网页的 ...

  2. python 网页爬虫作业调度_第3次作业-MOOC学习笔记:Python网络爬虫与信息提取

    1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业. 4.提供图片或网站显示的学习 ...

  3. Python小姿势 - # Python网络爬虫之如何通过selenium模拟浏览器登录微博

    Python网络爬虫之如何通过selenium模拟浏览器登录微博 微博登录接口很混乱,需要我们通过selenium来模拟浏览器登录. 首先我们需要安装selenium,通过pip安装: ``` pip ...

  4. python网络爬虫学习笔记(7)动态网页抓取(二)实践

    文章目录 1 资料 2 笔记 2-1 准备 2-1-1. 网址 2-2-2 文本位置 2-2 代码 2-2-1 原型 2-2-2 ver0.1 1 资料 <Python网络爬虫从入门到实践> ...

  5. python网络爬虫抹除webdriver指纹绕过淘宝滑块验证登录

    对于爬虫工程师,最常遇到的需求就是抓取电商网站的数据,那么电商数据最受哪些公司平台的注意呢?以下是几个例子 广告商:广告商透过爬虫定期抓取你店铺的数据,并对店铺包括销量,热度,好评,新上线产品好评度, ...

  6. python网络爬虫学习笔记(6)动态网页抓取(一)知识

    文章目录 网络爬虫学习笔记(2) 1 资料 2 笔记 2-1 动态抓取概述 2-2 通过浏览器审查元素解析真实网页地址 2-3 网页URL地址的规律 2-4 json库 2-5 通过Selenium模 ...

  7. Python网络爬虫数据采集实战:同花顺动态网页爬取

    前文的爬虫都建立在静态网页基础之上,首先通过请求网站url获取到网页源代码.之后对源代码进行信息提取进而存储即可,本文则针对动态网页进行数据采集,首先介绍Ajax相关理论,之后实战爬取同花顺动态网页, ...

  8. python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]

    目录 前言 一.正则表达式的学习 1.正则表达式的匹配工具 2.正则表达式的样式 3.正则表达式的案例 二.爬取网页图片 1.分析网页 2.获取数据 爬取妹子网的案例 后记 前言 hello,大家好 ...

  9. 爬虫书籍-Python网络爬虫权威指南OCR库 NLTK 数据清洗 BeautifulSoup Lambda表达式 Scrapy 马尔可夫模型

    Python网络爬虫权威指南 编辑推荐 适读人群 :需要抓取Web 数据的相关软件开发人员和研究人员 作为一种采集和理解网络上海量信息的方式,网页抓取技术变得越来越重要.而编写简单的自动化程序(网络爬 ...

最新文章

  1. 【C】 36_函数与指针分析
  2. 获得汉字拼音的首字母
  3. 写底部样式一定要加的属性
  4. 通过ABAP business switch动态扩展一个ABAP domain
  5. 大容量NoSql解决方案:Aerospike实战
  6. oracle 中某张表备份,张表系统流程(java程序备份及恢复SQL2000中数据库中的某张表)...
  7. 升级插件_全新界面全面升级不能错过 摄影后期插件 CameraRaw12.3 最新版
  8. ORACL-重做日志详解
  9. 如何在Inceptor中使用日期函数获取与转换时间
  10. 【企业架构】什么是 TOGAF? 企业架构方法论
  11. DataParallel使用
  12. 异常检测 and GAN网络(2)
  13. HTML中怎么从图片里取色,图片取色配色法——从电影画面中取色
  14. 如何看Dlink DWA-125 无线网卡使用的芯片
  15. Git 常用回滚撤销命令总结
  16. 保证金监控中心查询期货开户密码
  17. 常用谷歌地址和常用搜索引擎
  18. 机器人理论简介—— 台湾交通大学机器人学公开课(一)
  19. SAP库存--历史库存相关数据,以及库存变化对应表的数据变化,可以用于库龄分析报表逻辑设计。
  20. 计算机软件ae常用英语,AE英文插件该怎么翻译?

热门文章

  1. IDEA导入新项目2021.12.27
  2. UE4控制台命令有哪些,什么意思?
  3. springboot中的main方法
  4. 又又被报道赴美IPO,跨境电商独角兽Shein价值几何?
  5. IndexedDB 代码封装、性能摸索以及多标签支持
  6. SpringBoot banner 样式 自动生成佛祖和美女
  7. java 写文件 权限不够_教你解决Linux系统中JAVA创建文件后权限不足的问题
  8. 国民单片机通过Keil生成bin文件
  9. 经典排序算法之冒泡排序(含Java代码)
  10. 如何制作RTS游戏的寻路系统?