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获取GY-85九轴模块信息示例
Dec 05 Python
python使用in操作符时元组和数组的区别分析
May 19 Python
Python的mysql数据库的更新如何实现
Jul 31 Python
Python实现的科学计算器功能示例
Aug 04 Python
Python实现两款计算器功能示例
Dec 19 Python
Python使用matplotlib简单绘图示例
Feb 01 Python
Python中的pack和unpack的使用
Mar 12 Python
python3中eval函数用法使用简介
Aug 02 Python
Python多个装饰器的调用顺序实例解析
May 22 Python
keras 如何保存最佳的训练模型
May 25 Python
Django实现后台上传并显示图片功能
May 29 Python
Python根据字符串调用函数过程解析
Nov 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
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
PHP的反射机制实例详解
2017/03/29 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
jQuery过滤HTML标签并高亮显示关键字的方法
2015/08/07 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
2016/05/10 Javascript
jQuery图片左右滚动代码 有左右按钮实例
2016/06/20 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
NodeJS创建最简单的HTTP服务器
2017/05/15 NodeJs
详解Angular2组件之间如何通信
2017/06/22 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
js实现随机数小游戏
2019/06/28 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
python爬虫爬取网页表格数据
2018/03/07 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
2018/07/16 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
自查自纠工作总结
2014/10/15 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
如何写好开幕词?
2019/06/24 职场文书
python实现局部图像放大
2021/11/17 Python