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函数式编程学习之yield表达式形式详解
Mar 25 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
Oct 28 Python
pandas 快速处理 date_time 日期格式方法
Nov 12 Python
python实现的MySQL增删改查操作实例小结
Dec 19 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
python中的协程深入理解
Jun 10 Python
python制作简单五子棋游戏
Jun 18 Python
Python 从subprocess运行的子进程中实时获取输出的例子
Aug 14 Python
pytorch 预训练层的使用方法
Aug 20 Python
简单了解为什么python函数后有多个括号
Dec 19 Python
Python插入Elasticsearch操作方法解析
Jan 19 Python
python实现学生信息管理系统(面向对象)
Jun 05 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 出现乱码和Sessions验证问题的解决方法!
2008/12/06 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
在页面上点击任一链接时触发一个事件的代码
2007/04/07 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
JsRender实用入门教程
2014/10/31 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
jQuery实现ajax无刷新分页页码控件
2017/02/28 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
解决python删除文件的权限错误问题
2018/04/24 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
Django项目中添加ldap登陆认证功能的实现
2019/04/04 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
公司营业员的工作总结自我评价
2013/10/05 职场文书
经典商业广告词
2014/03/13 职场文书
腾讯广告词
2014/03/19 职场文书
C++程序员求职信范文
2014/04/14 职场文书
工业设计专业自荐书
2014/06/05 职场文书
优秀团员个人总结
2015/02/26 职场文书
小学生读书笔记范文
2015/06/30 职场文书