阅读本文大概需要 4 分钟。

工具是人手的延伸,用的好了,它可以成为我们身体的一部分,用不好,它就只是别人身体的一部分。

这是众所周知的道理,但是落实到每个人的具体实践上却是千差外别。

比如我们熟悉的 web 自动化测试工具 Selenium,很多人都听说过,但是很多人在实际的 web 测试中并没有用到。

之前我在《手把手教你搭建 Selenuim 自动化环境》中做了 Selenium 环境搭建的说明,今天我就用一个简单的实例来说明它的具体应用。

例子很简单,我是用 Selenium 实现了 51testing 论坛的模拟登陆和签到。

废话少说,直接上代码:# -*- coding: utf-8 -*-

"""

工具说明:

使用 selenium 实现自动登陆 51testing 论坛并签到

"""

import time

from selenium import webdriver

def denglu_luntan(driver, user, pwd):

"""登录论坛

利用 WebDriver 找到登陆窗口模拟登陆操作

Args:

driver:初始化的 webdriver

user:用户名

pwd:登陆密码

Returns:

无,仅单独抽取执行登陆操作

"""

user_box = driver.find_element_by_name('username')

user_box.send_keys(user)

passwd_box = driver.find_element_by_name('password')

passwd_box.send_keys(pwd)

load_box = driver.find_element_by_name('loginsubmit')

load_box.click()

def do_sign():

"""执行签到操作

利用 WebDriver 找到签到的表情和输入框,并执行签到操作

Args:

Returns:

无,执行签到操作后正常退出

"""

driver = webdriver.Chrome()

driver.get('http://bbs.51testing.com/dsu_paulsign-sign.html')

time.sleep(5)

denglu_luntan(driver, 'sylan215', 'password')

time.sleep(20)

xiqing_png = driver.find_element_by_id('fd')

xiqing_png.click()

duanyu_input = driver.find_element_by_id('todaysay')

duanyu_input.send_keys('不要怂,就是干')

btn_png = driver.find_element_by_xpath(

'//*[@id="qiandao"]/table[1]/tbody/tr/td/div/a/img')

btn_png.click()

time.sleep(30)

driver.quit()

if __name__ == '__main__':

do_sign()

下面我对代码做个简单的讲解:

1.denglu_luntan 函数是利用 WebDriver 模拟进行论坛的登陆操作;2.do_sign 函数是利用 WebDriver 模拟进行真正的签到操作;

本次涉及到的具体知识点:

1.查找元素:查找元素我一共使用了三种方式,分别是 find_element_by_name、find_element_by_id、find_element_by_xpath,具体什么地方使用什么方式,请根据实际情况自行决定,原则上要保证唯一性和稳定性;2.输入数据:直接调用 send_keys 函数实现;3.点击操作:直接调用 click 函数实现;

看到没,是不是很简单?赶紧动手用起来吧。

以上,我通过 Python + Selenium 模拟登陆 51testing 论坛进行自动签到,来简单说明了 Selenium 的实践。

之前大部分地方介绍 Selenium 都是为了更好的自动化,一提到自动化就是自动化框架,其实这些都是工具,我们不仅仅在测试自动化的过程中可以用到它,在所有可以用到工具的地方都可以用到它,而当我们用到工具的地方多了,自然就会让工具体系化,逐渐也就有了框架,不要什么事一上来就去谈那些特别高大上的东西,从手头上的点滴改进做起,任何工具的使用都可以算是自动化的一部分。

不知道你是否也这么认为,欢迎留言说说你的看法。

python模拟手机app签到_利用 Python + Selenium 实现自动登陆签到相关推荐

  1. python手机app开发_利用python开发app实战的方法

    我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了.最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻,目前也有了一 ...

  2. python爬取app图片_利用python爬取斗鱼app中照片方法实例

    前言 没想到python是如此强大,令人着迷,以前看见图片总是一张一张复制粘贴,现在好了,学会python就可以用程序将一张张图片,保存下来. 最近看到斗鱼里的照片都不错,决定用最新学习的python ...

  3. python京东自动签到_利用python Selenium实现自动登陆京东签到领金币功能

    如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形 ...

  4. 利用python从网页查找数据_利用Python模拟淘宝的搜索过程并对数据进行可视化分析...

    数据挖掘入门与实战 公众号: datadw 本文讲述如何利用Python模拟淘宝的搜索过程并对搜索结果进行初步的数据可视化分析. 搜索过程的模拟:淘宝的搜索页面有两种形式, 一种形式是, 2019/2 ...

  5. python爬取软件数据_利用Python爬取爬取APP上面的数据

    前言 在我们在爬取手机APP上面的数据的时候,都会借助Fidder来爬取.今天就教大家如何爬取手机APP上面的数据. 环境配置 1.Fidder的安装和配置 下载Fidder软件地址:https:// ...

  6. python模拟seo_百度统计原理分析-利用Python实现模拟访问

    国内大多数站长可能都在用百度统计.统计的使用方法也很简单,只要在需要统计的页面底部加上统计代码即可.然后打开百度统计的后台,就能看到访客信息,包括入口页面,停留时间,跳出率等等,很是方便. 使用当然是 ...

  7. python乘法符号手写_利用Python自动生成小学生加减乘除口算考试题卷,不再为手写算术题烦恼!...

    还在为给孩子抄各种各样的口算题而烦恼?孩子上小学一年级之后,加减乘除的口算就要开始练习了,老师肯定会让家长出题.所以我们当家长的,要提前准备一下,就利用Python开发了一套自动生成小学生口算题的小应 ...

  8. python怎么去掉视频字幕_利用Python实现字幕挂载(把字幕文件与视频合并)思路详解...

    其实超简单超简单!python好现成的库,一下子省略了好多步骤! 本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置! 需要用到的环境 python(基本上只要不是 ...

  9. python制作心形照片墙_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  10. python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

最新文章

  1. 去掉字符串两端的全角空格和半角空格(含源代码)
  2. PHP中file_put_contents()函数的兼容性问题
  3. asp.net core后台系统登录的快速构建
  4. python dataframe转置_Dataframe数据的增删改查,对齐(相加),转置,按值(索引)排序
  5. linux mongodb 升级,MongoDB2.6简单快速升级到3.0
  6. html 音频格式,html5中audio支持音频格式
  7. JavaScript 带给学习者的意外和深入认识
  8. Java读取共享文件夹下面的文件(利用smb协议)
  9. 211计算机考研到985难度,普通人想考研到985/211院校到底有多难?听听他们的心声!...
  10. OsgEarth —— 笔记9 - 飞机加入跟踪半透明圆圈标识(附源码)
  11. HTTP协议基本格式
  12. 数据结构与算法篇-单链表
  13. 推荐一款技术人必备的接口测试神器:Apifox
  14. 简单实用的ajax脚本
  15. 计算机科学四个名校,计算机科学CS四大名校来啦
  16. 计算机图形学:Mesh
  17. 扬帆际海——怎么做跨境电商?
  18. G003-181-01
  19. 第1章 HTML第2章 CSS-JS
  20. 什么是移动终端应用开发平台?

热门文章

  1. 计算机原始时代到现在著名的黑客
  2. 996下的程序员,该如何保证自己的身体健康?
  3. TriangleCount三角形计数
  4. java 用户拒绝对代码授予权限_java – @Secured函数获取授权用户的拒绝访问权限...
  5. dhtmlx-Gantt(甘特图) 学习开发手册--第一章
  6. quarz定时任务 spring整合quartz
  7. 从零到一,构建你的持续交付流程(二):好的工程实践是必要的前提
  8. keil 生成三角波dac0832_怎么样利用南方CASS三角网法和方格网法进行土方量计算...
  9. IE地址栏可输入的最大字符数
  10. 解决IE下input事件初始化自动执行的问题