摘自https://www.cnblogs.com/sanzangTst/p/7472556.html

前面几篇内容一直讲解Selenium Python的基本使用方法。学习了什么是selenium;学习了selenium Python的安装环境;学习了八种元素定位;学习了xpath定位;学习了浏览器的操作;前面几篇都是讲一些基础的定位方法,没具体的案例,可能看起来比较苍白枯燥,没有给出具体的案例。这篇内容就写一个简单实例来看一下前面的基本方法在实例的应用。
我们以登录网易邮箱为例来讲解Selenium Python前面学到的基本使用方法。
一、打开浏览器,打开163邮箱登录界面
二、元素定位
代码详解:
# 切换到iframe表单,这是网易邮箱通用的一个框架
browser.switch_to.frame('x-URS-iframe')
# 定位邮箱用户名输入框,并输入用户名
browser.find_element_by_name('email').send_keys('cf563540134')
# 定位邮箱密码输入框,并输入密码
browser.find_element_by_name('password').send_keys('chenfeng521314')
# 定位邮箱登录按钮,点击登录
browser.find_element_by_id('dologin').click()
# 休眠3s(作用:等待网页加载完成)
time.sleep(3)
三、简单的判断是否登录成功
代码详解:
# 上面有一步是切换到iframe框架上,当进入网页后,需要退出iframe才能操作网页其他的元素
browser.switch_to_default_content()
# 定义一个name,查看邮箱页面是否是我们登录的邮箱名,并且打印这个name
name = browser.find_element_by_id("spnUid").text
print(name)
# 简单判断一下,如果name值等于我们期望值,name我们就判断它是登录成功的,如果不等于期望值,那么我们就说明没有登录成功
if name == 'cf563540134@163.com':
print(u'登录成功')
else:
print(u'登录失败')
四、退出登录,退出浏览器
五、运行查看结果
这就是最简单的一个登录实例,我们刚开始学的时候不用一步到位说代码要怎么优美,怎么清晰,我们现在要做的就是怎么把元素定位成功,怎么实现我们的需求,代码优化后面会慢慢讲解。
下面附上代码完整版:
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 from selenium import webdriver
4 import time
5 url = 'http://mail.163.com/'
6 browser = webdriver.Firefox()
7 browser.get(url)
8 time.sleep(3)
9 # ----------------------元素定位-----------------------------
10 # 切换到iframe上,下一篇内容着重讲解iframe
11 browser.switch_to.frame('x-URS-iframe')
12 browser.find_element_by_name('email').send_keys('cf563540134')
13 browser.find_element_by_name('password').send_keys('xxx')
14 browser.find_element_by_id('dologin').click()
15 time.sleep(3)
16
17 # ----------------------查看是否登录成功---------------------
18 # 退出iframe
19 browser.switch_to_default_content()
20 # 简单判断登录是否成功
21 name = browser.find_element_by_id("spnUid").text
22 print(name)
23 if name == 'cf563540134@163.com':
24 print(u'登录成功')
25 else:
26 print(u'登录失败')
27
28 # --------------------退出登录,退出浏览器--------------------
29 browser.find_element_by_link_text('退出').click()
30 browser.quit()

自动化测试基础篇--Selenium简单的163邮箱登录实例的更多相关文章

  1. 自动化测试基础篇--Selenium iframe定位问题

    摘自https://www.cnblogs.com/sanzangTst/p/7473437.html 有时候我们在定位的途中发现一个现象,元素就在那儿,不离不去,但是我们怎么整就是定不了位,这个时候 ...

  2. 自动化测试基础篇--Selenium unittest简介

    一.什么是unittest unittest是Python单元测试框架,类似于JUnit框架. unittest中有4个重要的概念:test fixture, test case, test suit ...

  3. 自动化测试基础篇--Selenium发送测试报告邮件

    来自:https://www.cnblogs.com/sanzangTst/p/8377870.html 发邮件需要用到python两个模块,smtplib和email,这俩模块是python自带的, ...

  4. 自动化测试基础篇--Selenium文件上传send_keys

    摘自https://www.cnblogs.com/sanzangTst/p/8358165.html 文件上传是web页面上很常见的一个功能,自动化成功中操作起来却不是那么简单. 一般分两个场景:一 ...

  5. 自动化测试基础篇--Selenium元素定位

    摘自https://www.cnblogs.com/sanzangTst/p/7457111.html 一.Selenium元素定位的重要性: Web自动化测试的操作:获取UI页面的元素,对元素进行操 ...

  6. 自动化测试基础篇--Selenium简介

    摘自https://www.cnblogs.com/sanzangTst/p/7452636.html 一.软件开发的一般流程 二.什么叫软件测试? 软件测试(英语:Software Testing) ...

  7. 自动化测试基础篇--Selenium Python环境搭建

    学习selenium python需要的工具: 1.浏览器 2.Python 3.Selenium 4.FireBug(Firefox) 5.chromedriver.IEDriverServer.g ...

  8. 引用 自动化测试基础篇--Selenium简介

    原文链接:http://www.cnblogs.com/sanzangTst/p/7452636.html 鸣谢参藏法师 一.软件开发的一般流程 二.什么叫软件测试? 软件测试(英语:Software ...

  9. 引用 自动化测试基础篇--Selenium Python环境搭建

    原文链接:https://www.cnblogs.com/sanzangTst/p/7452922.html 鸣谢参藏法师. 学习selenium python需要的工具: 1.浏览器 2.Pytho ...

随机推荐

  1. 深入理解 JavaScript 异步系列(1)——基础

    前言 2014年秋季写完了<深入理解javascript原型和闭包系列>,已经帮助过很多人走出了 js 原型.作用域.闭包的困惑,至今仍能经常受到好评的留言. 很早之前我就总结了JS三座大 ...

  2. 【WebApi系列】浅谈HTTP在WebApi开发中的运用

    WebApi系列文章 [01]浅谈HTTP在WebApi开发中的运用 [02]聊聊WebApi体系结构 [03]详解WebApi参数的传递 [04]详解WebApi测试和PostMan [05]浅谈W ...

  3. Perl函数:字符串相关函数

    Perl字符串相关函数 字符串的内置函数有: chomp, chop, chr, crypt, fc, hex, index, lc, lcfirst, length, oct, ord, pack, ...

  4. 实战!基于lamp安装Discuz论坛-技术流ken

    简介 我前面的博客已经详细介绍了lamp采用yum安装以及编译安装的方式,这篇博客将基于yum安装的lamp架构来实战安装Discuz论坛,你可以任选其一来完成. 系统环境 centos7.5 服务器 ...

  5. python模块之random

    python的随机数模块为random模块,可以产生随机的整数或浮点数.但是这是伪随机数,python解释器会维护一些种子数,然后根据算法算出随机数.linux维护了一个熵池,这个熵池收集噪音的信息, ...

  6. shell编程基础(四): shell脚本语法之函数及调试

    一.Shell脚本中的函数 和C语言类似,Shell中也有函数的概念,但是函数定义中没有返回值也没有参数列表.例如: #! /bin/sh fun(){ echo "Function fun ...

  7. “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境

    Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...

  8. Mysql与SQLserver区别

    1.为空 SQLserver用isnull Myserver用ifnull 2.全球唯一标识符 SQLserver用newid() Myserver用uuid() 3.以分隔符拼接字符串 concat ...

  9. vs2010打不开vs2017的.sln文件,出现错误提示 “选择的文件是解决方案文件 但是用此应用程序的较新版本创建的,无法打开”

    解决方案: 1.复制下面这段语句 Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 2. ...

  10. java过滤器(简化认证)

    最近在看过滤器,刚刚实现了过滤器的简化认证功能: 使用过滤器简化认证: 在Web应用程序中,过滤器的一个关键用例是保护应用程序不被未授权的用户访问.为跨国部件公司开发的客户支持应用程序使用了一种非常原 ...