Python如何基于selenium实现自动登录博客园


Posted in Python onDecember 16, 2019

这篇文章主要介绍了Python如何基于selenium实现自动登录博客园,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

需要做的准备:

本文章是使用Chrome,所以需要Chormedriver.exe,具体的下载过程可以百度查到

Selenium是一种自动化测试工具,能模拟浏览器的行为,所以今天我就模拟一下浏览器登陆博客园的行为。

首先,分析问题,登陆博客园需要做些什么:

1.打开浏览器

2.输入博客园主页的网址

3.点击登陆按钮,等待页面跳转

4.输入账号密码,点击登陆

知道了步骤,接下来我们用代码来实现它:from selenium import webdriverimport time#创建登陆类

from selenium import webdriver
 
import time
 
 
class Loadup:
  def __init__(self,username,password):
    self.username = username
    self.password = password
    self.driver = webdriver.Chrome()
 
  def closeBrowser(self):
    self.driver.close()
 
  def login(self):
    driver = self.driver
    driver.get('https://www.cnblogs.com/')
    time.sleep(2)
    # 使用xpath的方法来定位元素
    login_button = driver.find_element_by_xpath("//a[@onclick='login();return false']")
    login_button.click()
    time.sleep(2)
    # 使用xpath的方法来定位元素
    username_elem = driver.find_element_by_xpath("//input[@name='LoginName']")
    # 使用xpath的方法来定位元素
    username_elem.clear()
    username_elem.send_keys(self.username)
 
    # 使用xpath的方法来定位元素
    password_elem = driver.find_element_by_xpath("//input[@name='Password']")
    password_elem.clear()
    password_elem.send_keys(self.password)
 
    #  定位登陆按钮
    loadup_button = driver.find_element_by_xpath("//span[@class='ladda-label']")
    loadup_button.click()
    time.sleep()
 
Leslie_ChanId = Loadup("176******","*******") #在此输入自己的帐号和密码
Leslie_ChanId.login()

运行程序:

Python如何基于selenium实现自动登录博客园

可以看到成功登陆,仔细看,会发现“Chrome正在受自动测试软件的控制”,说明是selenium正在操作浏览器。期间,人工也是可以操作浏览器的。

后言:

在测试的过程中,可能会出现博客园的滑动图片验证,可能是因为频繁操作引起,以我目前所学很难实现自动滑正确的图片,所以需要人为的去滑动图片。

使用driver定位元素的方法不止有xpath,还可以通过id,name,linkt_text等等

使用selenium进入网页后,可以做很多操作,是一种更方便于爬取动态网页的方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的sort()方法使用基础教程
Jan 08 Python
python实现外卖信息管理系统
Jan 11 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
Jan 27 Python
解决Python pandas df 写入excel 出现的问题
Jul 04 Python
Python实现的删除重复文件或图片功能示例【去重】
Apr 23 Python
使用Python实现正态分布、正态分布采样
Nov 20 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
Dec 03 Python
Python如何使用OS模块调用cmd
Feb 27 Python
python3爬虫中多线程进行解锁操作实例
Nov 25 Python
浅谈Selenium 控制浏览器的常用方法
Dec 04 Python
Pytorch 实现变量类型转换
May 17 Python
python 离散点图画法的实现
Apr 01 Python
Python正则表达式急速入门(小结)
Dec 16 #Python
如何基于Python制作有道翻译小工具
Dec 16 #Python
django框架单表操作之增删改实例分析
Dec 16 #Python
Python生成个性签名图片获取GUI过程解析
Dec 16 #Python
Python列表切片常用操作实例解析
Dec 16 #Python
python之pymysql模块简单应用示例代码
Dec 16 #Python
python装饰器使用实例详解
Dec 14 #Python
You might like
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
取得传值的函数
2006/10/27 Javascript
JavaScript使用cookie
2007/02/02 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
基于jQuery的ajax方法封装
2016/07/14 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
Python复制目录结构脚本代码分享
2015/03/06 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
详解Python正则表达式re模块
2019/03/19 Python
Python 监测文件是否更新的方法
2019/06/10 Python
python pytest进阶之fixture详解
2019/06/27 Python
Python线程协作threading.Condition实现过程解析
2020/03/12 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
通俗讲解python 装饰器
2020/09/07 Python
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
Holiday Inn中国官网:IHG旗下假日酒店预订
2018/04/08 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
临床医师专业个人自我评价范文
2013/11/07 职场文书
师德建设实施方案
2014/03/21 职场文书
承租经营合作者协议书
2014/10/01 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
离职信范本
2015/06/23 职场文书
高中开学感言
2015/08/01 职场文书
Python道路车道线检测的实现
2021/06/27 Python