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编写生成树状结构的文件目录的脚本的教程
May 04 Python
谈谈如何手动释放Python的内存
Dec 17 Python
python中requests库session对象的妙用详解
Oct 30 Python
Python语言的变量认识及操作方法
Feb 11 Python
python构建深度神经网络(DNN)
Mar 10 Python
python 函数内部修改外部变量的方法
Dec 18 Python
Python3 串口接收与发送16进制数据包的实例
Jun 12 Python
python使用minimax算法实现五子棋
Jul 29 Python
Python中sorted()排序与字母大小写的问题
Jan 14 Python
Python实现加密接口测试方法步骤详解
Jun 05 Python
Python高并发解决方案实现过程详解
Jul 31 Python
python录音并调用百度语音识别接口的示例
Dec 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&&mysql)五
2006/10/09 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
几行js代码实现自适应
2017/02/24 Javascript
JS验证码实现代码
2017/09/14 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
基于Python实现通过微信搜索功能查看谁把你删除了
2016/01/27 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
使用python语言,比较两个字符串是否相同的实例
2018/06/29 Python
python自动保存百度盘资源到百度盘中的实例代码
2019/08/26 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
大学生自我鉴定
2013/12/16 职场文书
小学生开学感言
2014/02/28 职场文书
销售总经理岗位职责
2014/03/15 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
单独二胎证明
2015/06/24 职场文书
工程进度款催款函
2015/06/24 职场文书
军训后的感想
2015/08/07 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书
高三英语教学反思
2016/03/03 职场文书
python flask开发的简单基金查询工具
2021/06/02 Python
分位数回归模型quantile regeression应用详解及示例教程
2021/11/02 Python
JS实现九宫格拼图游戏
2022/06/28 Javascript
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技