python爬虫之利用selenium模块自动登录CSDN


Posted in Python onApril 22, 2021

一、页面分析

CSDN登录页面如下图

python爬虫之利用selenium模块自动登录CSDN

二、引入selenium模块及驱动

2.1 并将安装好的Chromedriver.exe引入到代码中

# -*- coding:utf-8 -*-
from selenium import webdriver  
import os
import time
#引入chromedriver.exe
chromedriver="C:/Users/lex/AppData/Local/Google/Chrome/Application/chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
browser = webdriver.Chrome(chromedriver)

2.2 浏览器驱动引入

将驱动下载后,复制chromedriver.exe 到谷歌浏览器的安装路径下,与Chrome.exe启动文件并列的目录下:

python爬虫之利用selenium模块自动登录CSDN

三、爬虫模拟登录

3.1 设置网址链接

#设置浏览器需要打开的url
url = "https://passport.csdn.net/login?code=public"  
browser.get(url)

3.2 切换到账号密码登录

使用selenium模拟点击 账号密码登录的选项

#使用selenium选择 账号登录按钮
browser.find_element_by_link_text("账号密码登录").click()

3.3 找到用户名密码的控件ID

python爬虫之利用selenium模块自动登录CSDN

3.4 注入用户名和密码

根据页面代码分析,获得用户名的id属性为all,密码的id属性为password-number

使用python代码,注入用户名密码

browser.find_element_by_id("all").clear()
browser.find_element_by_id("all").send_keys("xxxx@gmail.com")
time.sleep(2)
browser.find_element_by_id("password-number").clear()
browser.find_element_by_id("password-number").send_keys("1212121212")

python爬虫之利用selenium模块自动登录CSDN

3.5 模拟登录点击

分析页面结构,模拟点击登录按钮。

分析可获得,登录按钮的class属性为btn btn-primary,根据class来锁定该按钮

time.sleep(1)
#增加一秒钟的时间间隔
browser.find_element_by_css_selector("[class='btn btn-primary']").click()

python爬虫之利用selenium模块自动登录CSDN

四、成功登录CSDN

python爬虫之利用selenium模块自动登录CSDN

五、完整代码

# -*- coding:utf-8 -*-
import os
import time
from selenium import webdriver # 从selenium导入webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
import json
import time
#引入chromedriver.exe
chromedriver="C:/Users/lex/AppData/Local/Google/Chrome/Application/chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
browser = webdriver.Chrome(chromedriver)
#设置浏览器需要打开的url
url = "https://passport.csdn.net/login?code=public"  
browser.get(url)
browser.find_element_by_link_text("账号密码登录").click()
browser.find_element_by_id("all").clear()
browser.find_element_by_id("all").send_keys("你的邮箱地址")
time.sleep(1)
browser.find_element_by_id("password-number").clear()
browser.find_element_by_id("password-number").send_keys("你的登录密码")
time.sleep(1)
browser.find_element_by_css_selector("[class='btn btn-primary']").click()

到此这篇关于python爬虫之利用selenium模块自动登录CSDN的文章就介绍到这了,更多相关python自动登录CSDN内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用IronPython把Python脚本集成到.NET程序中的教程
Mar 31 Python
详解python实现读取邮件数据并下载附件的实例
Aug 03 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 Python
Python 获得命令行参数的方法(推荐)
Jan 24 Python
Python3匿名函数用法示例
Jul 25 Python
Python实现查找二叉搜索树第k大的节点功能示例
Jan 24 Python
Python从列表推导到zip()函数的5种技巧总结
Oct 23 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
对Matlab中共轭、转置和共轭装置的区别说明
May 11 Python
python爬虫请求头设置代码
Jul 28 Python
python 获取谷歌浏览器保存的密码
Jan 06 Python
python 自动化偷懒的四个实用操作
Apr 11 Python
Python数据清洗工具之Numpy的基本操作
Python基础之Socket通信原理
python numpy中setdiff1d的用法说明
Apr 22 #Python
一行代码python实现文件共享服务器
Apr 22 #Python
python数据分析之用sklearn预测糖尿病
python文件名批量重命名脚本实例代码
python爬虫之爬取笔趣阁小说
You might like
PHP实现文件安全下载
2006/10/09 PHP
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
PHP多维数组元素操作类的方法
2016/11/14 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
[IE&FireFox兼容]JS对select操作
2007/01/07 Javascript
js 匿名调用实现代码
2009/06/19 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
2015/12/16 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
2018/01/02 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
Preload基础使用方法详解
2020/02/03 Javascript
理解python正则表达式
2016/01/15 Python
Python迭代器与生成器用法实例分析
2018/07/09 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
Python logging模块原理解析及应用
2020/08/13 Python
详解canvas多边形(蜘蛛图)的画法示例
2018/01/29 HTML / CSS
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
工艺工程师岗位职责
2014/03/04 职场文书
研发工程师岗位职责
2014/04/28 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
民主评议党员总结
2014/10/20 职场文书
优秀护士事迹材料
2014/12/25 职场文书
副总经理岗位职责范本
2015/04/08 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
道歉的话怎么说
2015/05/12 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
婚宴父亲致辞
2015/07/27 职场文书
演讲稿:态度决定一切
2019/04/02 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python