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

 更新时间:2021年04月22日 11:43:34   作者:置顶 lexsaints  
这篇文章主要介绍了python爬虫之利用selenium模块自动登录CSDN,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下

一、页面分析

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启动文件并列的目录下:

三、爬虫模拟登录

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

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")

3.5 模拟登录点击

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

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

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

四、成功登录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判断windows隐藏文件的方法

    python判断windows隐藏文件的方法

    inux 下隐藏文件是以句号 “.” 开头的文件,根据文件名即可判断是否为隐藏文件。win 下是以文件隐藏属性确定的,所以,只能通过微软的 API 获取隐藏属性来判断是否为隐藏文件
    2014-03-03
  • 结合OpenCV与TensorFlow进行人脸识别的实现

    结合OpenCV与TensorFlow进行人脸识别的实现

    这篇文章主要介绍了结合OpenCV与TensorFlow进行人脸识别的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Ubuntu Server 20.04 LTS 环境下搭建vim 编辑器Python IDE的详细步骤

    Ubuntu Server 20.04 LTS 环境下搭建vim 编辑器Python IDE的详细步骤

    这篇文章主要介绍了Ubuntu Server 20.04 LTS 环境下搭建vim 编辑器Python IDE,首先是安装配置vim-plug及安装coc.nvim插件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Python2实现的图片文本识别功能详解

    Python2实现的图片文本识别功能详解

    这篇文章主要介绍了Python2实现的图片文本识别功能,结合实例形式分析了Python pytesser库的安装及使用pytesser库识别图片文字相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • Python基础之条件控制操作示例【if语句】

    Python基础之条件控制操作示例【if语句】

    这篇文章主要介绍了Python基础之条件控制操作,结合实例形式分析了Python使用if语句进行条件控制的相关操作技巧与相关注意事项,需要的朋友可以参考下
    2019-03-03
  • Jupyter Notebook如何导入python文件时的问题

    Jupyter Notebook如何导入python文件时的问题

    这篇文章主要介绍了Jupyter Notebook如何导入python文件时的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • scipy.interpolate插值方法实例讲解

    scipy.interpolate插值方法实例讲解

    这篇文章主要介绍了scipy.interpolate插值方法介绍,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • 基于python-opencv3实现图像显示和保存操作

    基于python-opencv3实现图像显示和保存操作

    这篇文章主要介绍了基于python opencv3的图像显示和保存操作方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-06-06
  • python异常的捕捉和补救实例详解

    python异常的捕捉和补救实例详解

    在本篇文章里小编给大家整理的是一篇关于python异常的捕捉和补救实例详解内容,有需要的朋友们可以跟着学习参考下。
    2021-06-06
  • Python异常对象Exception基础类异常捕捉

    Python异常对象Exception基础类异常捕捉

    这篇文章主要为大家介绍了Python异常对象异常捕捉及Exception基础类,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06

最新评论