目录
页面分析
引入selenium模块及驱动
1、并将安装好的Chromedriver.exe引入到代码中
2、浏览器驱动引入
爬虫模拟登录
1、设置网址链接
2、切换到账号密码登录
3、找到用户名密码的控件ID
4、注入用户名和密码
5、模拟登录点击
成功登录CSDN
CSDN登录页面如下图
# -*- 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) 复制代码
驱动下载地址:
download.csdn.net/download/we…
将驱动下载后,复制chromedriver.exe 到谷歌浏览器的安装路径下,与Chrome.exe启动文件并列的目录下:
#设置浏览器需要打开的url url = "https://passport.csdn.net/login?code=public" browser.get(url) 复制代码
使用selenium模拟点击 账号密码登录的选项
#使用selenium选择 账号登录按钮 browser.find_element_by_link_text("账号密码登录").click() 复制代码
根据页面代码分析,获得用户名的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") 复制代码
分析页面结构,模拟点击登录按钮。
分析可获得,登录按钮的class属性为btn btn-primary,根据class来锁定该按钮
time.sleep(1) #增加一秒钟的时间间隔 browser.find_element_by_css_selector("[class='btn btn-primary']").click() 复制代码
# -*- 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基础语法学习、python高级编程、模块式开发之函数与函数进阶、而且里面的知识点是十分详细的,话术也是很简洁明了,不含任何广告信息,让你学习起来更加的方便。喜欢的小伙伴,可以给我个三连,
如果需要可以微信扫描下方CSDN官方认证二维码免费领取