学习目的:


掌握显示等待

掌握二次封装

正式步骤:


step1:显示等待的代码示例

# -*-  coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import time
import os dr = webdriver.Chrome()
url = 'http://renren.com/'
dr.get(url)
# dr 表示打卡浏览器
# 30 表示超时总时长 30s
# 1 表示循环查询时间,默认时间间隔0.5s
# lambda x : x.find_element_by_xpath('//*[@id="email"]') 默认的官方格式,照旧
x = WebDriverWait(dr,30,1).until(lambda x : x.find_element_by_xpath('//*[@id="email"]'))
y = WebDriverWait(dr,30,1).until(lambda x : x.find_element_by_xpath('//*[@id="password"]'))
z = WebDriverWait(dr,30,1).until(lambda x : x.find_element_by_xpath('//*[@id="login"]'))
x.send_keys('308@qq.com')
y.send_keys('*******')
z.click()

step2: 二次封装

# -*-  coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
import time
import os class xianshidengdai(): def __init__(self,driver):
self.driver = driver
self.timeout = 30
self.t = 0.5 def findelement(self,locator):
element = WebDriverWait(self.driver,self.timeout,self.t).until(lambda x : x.find_element(*locator))
return element if __name__ == "__main__":
driver = webdriver.Chrome()
driver.get('http://renren.com')
test = xianshidengdai(driver)
loc1 = (By.XPATH ,'//*[@id="email"]')
test.findelement(loc1).send_keys('***')
driver.close()

Python3 Selenium自动化web测试 ==> 第十一节 WebDriver高级应用 -- 显示等待 + 二次封装的更多相关文章

  1. Python3 Selenium自动化web测试 ==> 第七节 WebDriver高级应用 -- 浮动框中,单击选择某个关键字选项

    学习目的: 了解WebDriver的高级应用 正式步骤: 测试Python3代码 # -*- coding:utf-8 -*- from selenium import webdriver from ...

  2. Python3 Selenium自动化web测试 ==> 第六节 WebDriver高级应用 -- 操作web页面的滚动条

    学习目的: 掌握页面元素定位以外的其他重要知识点. 正式步骤: 测试Python3代码 # -*- coding:utf-8 -*- from selenium import webdriver fr ...

  3. Python3 Selenium自动化web测试 ==> 第五节 WebDriver高级应用 -- 使用JavaScript操作页面元素

    学习目的: 中级水平技术提升 在WebDriver脚本代码中执行JS代码,可以解决某些 .click()方法无法生效等问题 正式步骤: Python3代码如下 # -*- coding:utf-8 - ...

  4. Python3 Selenium自动化web测试 ==> 第十节 WebDriver高级应用 -- xpath语法

    学习目的: xpath定位是针对常规定位方法中,最有效的定位方式. 场景: 页面元素的定位. 正式步骤: step1:常规属性 示例UI 示例UI相关HTML代码 相关代码示例: #通过id定位 dr ...

  5. Python3 Selenium自动化web测试 ==> 第三节 常用WebDriver API使用示例上(24个API)

    前置步骤: 安装selenium,chrome驱动,Python3.6 学习目的: 常见API的使用 涉及的API: step1: 访问一个网址 step2: 网页的前进和后退 step3: 刷新当前 ...

  6. Python3 Selenium自动化web测试 ==> 第一节 起始点之Python单元测试框架 unittest

    前置步骤 Python版本:3.6.4 selenium版本:3.11.0 >>> import selenium >>> help(selenium) IDE:P ...

  7. Python3 Selenium自动化web测试 ==> 第二节 页面元素的定位方法 <上>

    前置步骤: 上一篇的Python单元测试框架unittest,我认为相当于功能测试测试用例设计中的用例模板,在自动化用例的设计过程中,可以封装一个模板,在新建用例的时候,把需要测试的步骤添加上去即可: ...

  8. Python3 Selenium自动化web测试 ==> 第九节 WebDriver高级应用 -- 操作select 和 alert

    学习目的: 掌握页面常规元素的定位方法 场景: 网页正常的select元素下拉框常规方法和select专属方法 正式步骤: step1:常规思路select页面元素定位 处理HTML代码截图 # -* ...

  9. Python3 Selenium自动化web测试 ==> 第二节 页面元素的定位方法 -- iframe专题 <下>

    学习目的: 掌握iframe矿建的定位,因为前端的iframe框架页面元素信息,大多时候都会带有动态ID,无法重复定位. 场景: 1. iframe切换 查看iframe 切换iframe 多个ifr ...

随机推荐

  1. 1114 CSS基础

    目录 CSS入门 标签设置长宽 1.字体样式 1.1 字体类型 font-family 1.2 字体大小 font-size 1.3 字体颜色 color 1.4 字体粗细 font-weight 1 ...

  2. matlab安装MinG-w64 C/C++编译器

    matlab 2018b之编译器的安装 安装MinGW C/C++ 编译器

  3. The "web.xml" is called web application deployment descriptor

    3.3  Configure the Application Deployment Descriptor - "web.xml" A web user invokes a serv ...

  4. script标签中的async、defer属性

    Script标签是我们常用的引用js脚本的一种方式. 撸代码的时候,我们常常只写src属性,直接忽略其他属性. 最近发现了2个可以利用的属性:async.defer. 顾名思义async就是异步,在不 ...

  5. ubuntu redis 安装 &基本命令

    参考资料:https://www.cnblogs.com/zongfa/p/7808807.htmlredis命令参考:http://doc.redisfans.com/安装:sudo apt-get ...

  6. selenium怎样避免被服务器检测

    selenium是用来完成浏览器自动化相关的操作.可以通过代码的形式制定一些基于浏览器自动化的相关操作(行为动作),当代码执行后,浏览器就会自动触发相关的事件.但这并不能避免服务器的检测.当在浏览器中 ...

  7. Oracle 11.2 静默安装脚本

    Oracle 11.2 静默安装脚本 cat db_init.sh.20190401 #!/bin/bash####安装Oracle所需依赖包function install_yum(){  yum ...

  8. C/C++应用--Window下获取硬件信息(CPU, 硬盘,网卡等)

    一.头文件如下: #include <Windows.h> #include <string> #include <iostream> #include <w ...

  9. 23333 又是一篇水文章(以下是各种复制来的关于maven转成eclipse项目)

    (转载) 当我们通过模版(比如最简单的maven-archetype-quikstart插件)生成了一个maven的项目结构时,如何将它转换成eclipse支持的java project呢? 1. 定 ...

  10. 【概率论】4-1:随机变量的期望(The Expectation of a Random Variable Part II)

    title: [概率论]4-1:随机变量的期望(The Expectation of a Random Variable Part II) categories: - Mathematic - Pro ...