selenium03-三个简单的web自动化实例
1.百度登录
哈,学selenium,第一个想法就是拿百度登录试试,是的没错,就是它了!
from selenium import webdriver #导入webdriver
import time #导入时间模块
b = webdriver.Firefox() #打开火狐浏览器
b.maximize_window() #窗口最大化
b.get('http://www.baidu.com') #打开百度首页
time.sleep(2) #强制等待两秒,等网页完全打开
b.find_element_by_xpath('/html/body/div[1]/div[1]/div/div[3]/a[7]').click() #打开登录框
time.sleep(2) #强制等待两秒,等登录框弹出
b.find_element_by_id('TANGRAM__PSP_10__footerULoginBtn').click() #切换到账号密码登录
b.find_element_by_name('userName').send_keys('12345678') #输入账号
b.find_element_by_name('password').send_keys('12345678') #输入密码
b.find_element_by_name('memberPass').click() #取消密码保存
b.find_element_by_id('TANGRAM__PSP_10__submit').click() #登录
结果:点击登录后弹出手机号验证,所以登录未完成,不过过程代码应该是没错
2.淘宝
在百度受挫之后,第二个想到的就是淘宝。
from selenium import webdriver #导入webdriver
import time #导入时间
from selenium.webdriver.common.keys import Keys #导入Keys
b = webdriver.Firefox() #打开火狐浏览器
b.maximize_window() #窗口最大化
b.get('https://www.taobao.com/') #打开淘宝网
time.sleep(2) #强制等待2秒,等网页打开
b.find_element_by_xpath('//*[@id="J_SiteNavLogin"]/div[1]/div[1]/a[1]').click() #点击跳转登录页面
time.sleep(2) #强制等待2秒,进入登录页面
b.find_element_by_id('J_Quick2Static').click() #选择账号密码登录模式
time.sleep(2) #强制等待2秒,等登录窗口打开
b.switch_to.active_element.send_keys('12345678') #输入账号
b.find_element_by_name('TPL_password').send_keys('12345678') #输入密码
b.find_element_by_id('J_Quick2Static').click() #点击登录
结果:又失败了,会出现一个滑块验证,我手工把滑块完成,显示“哎呀,出错了,点击刷新再来一次(error:N18f4f)”,刷新后再次操作滑块,依然报错。
后来百度得知,是淘宝网站监测到使用了自动化工具,所以这个滑块是无法完成的……
另外补充一点,账号输入框元素定位成功,但是无法输入,显示‘element is not reachable by keyboard’,有人说是firefox浏览器问题,于是使用另外的方式去输入了。
browser.switch_to.active_element.send_keys('****')
按照字面意思理解,应该是获取当前活动状态的元素,直接操作吧。
总而言之,虽然失败了,但是真不是我的问题,自动化工具的监测,还不是我这样一个小萌新能解决的,希望以后能搞定吧。
3.QQ邮箱
三大流氓 BAT 啊,BA 都试过了,轮到 T 了。
from selenium import webdriver #导入webdriver
import time #导入时间模块
b = webdriver.Firefox() #打开火狐浏览器
b.maximize_window() #窗口最大化
b.get('https://mail.qq.com/') #进入qq邮箱首页
time.sleep(2) #强制等待两秒
b.switch_to.frame('login_frame') #转入登录模块所在的 frame
b.find_element_by_id('switcher_plogin').click() #点击进入账号密码登录模式
time.sleep(2) #强制等待两秒
b.find_element_by_id('u').send_keys('12345678@qq.com') #输入账号
b.find_element_by_id('p').send_keys('12345678') #输入密码
b.find_element_by_id('p_low_login_enable').click() #点击选择记住密码:练习时最好别选,不然很容易触发验证
b.find_element_by_id('login_button').click() #登录
结果:登录成功了。
总结:登录验证确实很头疼,不过初入门的也不需要对自己要求这么高,一般中小型公司自己的网站应该都没有反自动化工具的功能吧,基本上提供个账号+密码就可以登录了。
转载于:https://www.cnblogs.com/maigeyouziba/p/11186683.html
selenium03-三个简单的web自动化实例相关推荐
- 简单的web自动化环境安装
1.浏览器安装 在这里我们选择安装最新版本的火狐浏览器,直接选择默认安装即可,安装完成后讲浏览器安装路径加入环境变量.由于是最新版本(目前是:66.0.3),所以需要浏览器驱动. 浏 ...
- python的web自动化框架实例_Selenium基于Python web自动化测试框架 -- PO
关于selenium测试框架首先想到的就是PO模型,简单说下PO模型 PO模型的概念和理解: PO就是一个设计思想,将代码以页面为单位进行组织,针对这个页面上的所有信息.相关操作都放到一个类中,从而使 ...
- 从零开始Web自动化(三):通过selenium,9行代码实现打字网站的自动打字
写在前面: 这个专栏主要是分享一些python.Web自动化的相关知识. 需要你具备一定的python基础,参考教程:廖雪峰python教程 掌握红框中的内容即可! 通过实战项目让你学会包括:pyth ...
- Selenium Web 自动化 - 项目实战(三)
Selenium Web 自动化 - 项目实战(三) 2016-08-10 目录 1 关键字驱动概述 2 框架更改总览 3 框架更改详解 3.1 解析新增页面目录 3.2 解析新增测试用例目录 ...
- ios php mysql实例_如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1
原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...
- python自动化(三)web自动化:2.web自动化工具selenium讲解
一.selenium简介 1.什么是selenium Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7, ...
- 基于OSGi的Virgo Server最简单Spring web实例
一:开发工具下载与环境搭建 1.下载并安装JDK6u30版本,下载地址如下: http://www.oracle.com/technetwork/java/javasebusiness/downloa ...
- Web自动化—简单了解
Web自动化-简单了解 自动化概念 自动化的好处 自动化测试的分类 web自动化条件和使用范围 web自动化常用工具 元素定位 Xpath CSS选择器 自动化概念 软件自动化测试就是通过测试工具或者 ...
- 如何去掉超链接下划线用三个简单的实例来说明
去掉超链接的下划线,需要用样式表CSS来控制,如果你暂时不想深入了解CSS的概念,下面将举三个简单的实例来说明如何控制超链接的下划线.用记事本打开网页源代码(也可以先用IE打开网页,然后点击IE菜单栏 ...
- web自动化简单易学
在学习web自动化时,咱们需要使用到火狐浏览器,没有的小伙伴下载一下, 注(我下载的是这个,如果版本过高,接下来有俩插件会不匹配.) 接下来是火狐浏览器的安装教程 这个是需要打开pycharm 下 ...
最新文章
- 实习生离职,HR恼羞成怒:我要全行业封杀你
- Zookeeper概念学习系列之分布式事务
- 东农计算机应用与技术离线作业,东农16春《计算机应用与技术》在线作业.doc
- python【数据结构与算法】分治算法之大整数乘法
- 垃圾回收器的基本原理是什么?
- 大三时候实现的,关于大整数(超过long范围)加减乘除操作的头文件,并包含了实现RSA加解密的函数...
- 代码实现sql编译器_TiDB-Wasm 原理与实现 | Hackathon 优秀项目介绍
- python重定向cookie_模拟登陆中 302 重定向和 cookies 的一些困惑
- 一个社交电商小程序配套的平台接
- AndroidStudio安卓原生开发_UI控件_SeekBar_ProgressBar_DataPicker---Android原生开发工作笔记99
- [转]bookmark整理之.NET编程相关
- XPath解析网页学习笔记
- 中国石油大学(北京)-《 修井工程》第二阶段在线作业
- flv.js简单使用示例
- 基于jQuery的图片懒加载插件
- 根据二叉树先序遍历和中序遍历构建二叉树
- 代理服务器导致连接不上局域网问题
- POJ 1984 Navigation Nightmare 多权值并查集
- unresolved external symbol __imp__timeGetTime@0
- [转]如果你知道自己40岁的时候一定会被裁员,那你会做什么?