Selenium是UI层WEB端的自动化测试框架,也是目前市面上比较流行的自动化测试框架。

ui层自动化测试本质是什么?
模拟用户的真实操作行为。

基础汇总:

 导入所需要的模块
from selenium import webdriver
import time 生成一个driver变量
driver = webdriver.Firefox() #浏览器最大化
# driver.maximize_window()
#自定义浏览器的宽和高
# driver.set_window_size(,) url = "http://www.cnblogs.com/hanxiaobei/"
打开url链接
driver.get(url)
time.sleep()
打印打开页面的title
print("网站title",driver.title) #截图并保存为1.png
driver.get_screenshot_as_file("1.png") #刷新当前页面
driver.refresh() time.sleep()
driver.get("http://www.baidu.com")
print("网站的title",driver.title) driver.back() #后退
driver.forward()#前进 driver.close() #关闭页面,进程还在
# driver.quit() #关闭浏览器,进程杀死

定位元素的7种方式:

 # driver.find_element_by_id("kw").send_keys("selenium")
# driver.find_element_by_name("wd").send_keys("selenium")
# driver.find_element_by_class_name("s_ipt").send_keys("selenium")
# driver.find_element_by_xpath(".//*[@id='kw']").send_keys("selenium")
#定位超链接:第一种是精确匹配,第二种是模糊匹配
# driver.find_element_by_link_text("新闻").click()
# driver.find_element_by_partial_link_text("我是那个").click()
# driver.find_element_by_css_selector(".s_ipt").send_keys("selenium")

定位元素的另一种写法:

 driver.find_element("id","kw").send_keys("selenium")
获取元素文本内容
blogname = driver.find_element_by_class_name('blogName').text
print("获取的文本内容是:",blogname) xpath定位总结:
1、绝对路径:driver.find_element_by_xpath("html/body/a").click()
2、//标签名[@属性名=属性值]:
driver.find_element_by_xpath("//a[@href='http://www.baidu.com/s?wd=测试']").click()
driver.find_element_by_xpath("//*[@href='http://www.baidu.com/s?wd=测试']").click() 3、contains、start-with:
driver.find_element_by_xpath("//a[contains(@href,'测试')]").click() #包含
driver.find_element_by_xpath("//a[starts-with(@href,'in')]").click() #以什么开头
#//div[starts-with(@id,'in')] 选择id属性以in开头的 4、利用两个元素属性进行唯一定位:and、or
driver.find_element_by_xpath("//*[@id='kw' and @name='wd']")

Selenium基于Python web自动化基础一 -- 基础汇总及简单操作的更多相关文章

  1. Selenium基于Python web自动化基础二 -- 免登录、等待及unittest单元测试框架

    一.免登录在进行测试的过程中难免会遇到登录的情况,给测试工作添加了工作量,本文仅提供一些思路供参考解决方式:手动请求中添加cookies.火狐的profile文件记录信息实现.人工介入.万能验证码.去 ...

  2. Selenium基于Python web自动化测试框架 -- PO

    关于selenium测试框架首先想到的就是PO模型,简单说下PO模型 PO模型的概念和理解: PO就是一个设计思想,将代码以页面为单位进行组织,针对这个页面上的所有信息.相关操作都放到一个类中,从而使 ...

  3. 【Selenium04篇】python+selenium实现Web自动化:文件上传,Cookie操作,调用 JavaScript,窗口截图

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第四篇博 ...

  4. Python Web 应用:WSGI基础

    在Django,Flask,Bottle和其他一切Python web 框架底层的是Web Server Gateway Interface,简称WSGI.WSGI对Python来说就像 Servle ...

  5. python + web自动化,点击不生效,提示“selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element is not clickable at point (117, 674)”

    前言: 在做web自动化时,遇到一个缩放了浏览器比例的操作,从100%缩小到80%,再进行点击的时候,弹出报错信息,无法点击 selenium.common.exceptions.ElementCli ...

  6. Selenium基于Python 进行 web 自动化测试

    配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver ...

  7. 初识TPOT:一个基于Python的自动化机器学习开发工具

    1. TPOT介绍 一般来讲,创建一个机器学习模型需要经历以下几步: 数据预处理 特征工程 模型选择 超参数调整 模型保存 本文介绍一个基于遗传算法的快速模型选择及调参的方法,TPOT:一种基于Pyt ...

  8. 【Python web自动化】之读取配置文件参数,利用cookie返回值进行跳过验证码进行登录操作

    当进行Python的Web自动化时,会涉及到验证码问题,该如何跳过执行呢,下面请看代码: 1.首先新建配置文件*.ini格式 config.ini [db] #基础地址: baseurl = http ...

  9. 基于Python项目的Redis缓存消耗内存数据简单分析(附详细操作步骤)

    目录 1 准备工作 2 具体实施   1 准备工作 什么是Redis? Redis:一个高性能的key-value数据库.支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使 ...

随机推荐

  1. tsdb import 相关

    今天一直在做opentsdb 大量导入数据的工作. 中间遇到了一些值得记录的问题, 这里随手记一下 明天好好整理 1. 多进程logger python的logging模块不支持多进程,但我们可以用s ...

  2. chassis & power

    机箱电源 ★ Main board ★ Voltage, connector ★ Hole ★ Ports ★ AT:12``*13.8`` or 12``*13``  30.5cm*33cm ★ B ...

  3. SATA、SCSI、SAS

    目前,服务器市场上采用的硬盘主要有三种,SATA硬盘.SCSI硬盘以及SAS硬盘,其中SATA硬盘主要应用在低端服务器领域,而SCSI和SAS硬盘则面向中高端服务器.下面我们就SATA.SCSI以及S ...

  4. SSLStrip 终极版 —— location 瞒天过海

    之前介绍了 HTTPS 前端劫持 的方案,尽管非常有趣.然而现实却并不理想. 其唯一.也是最大的缺陷.就是无法阻止脚本跳转.若是没有这个缺陷,那就非常完美了 -- 当然也就没有必要写这篇文章了. 说究 ...

  5. Growth: 一个关于怎样成为优秀Web Developer 的 App

    想了想还是决定在今天公布一个预览版.这样才干持续改进.Growth是一个关于怎样成为优秀的Web Developer的APP--结合技能树.成长路线图.进阶书单.Web七日谈以及一些小測验. 它是我对 ...

  6. 操作系统——IO管理

    一.IO系统结构 在计算机系统中.cpu要和很多外设进行交互.比方鼠标,键盘,网卡等等. 1.IO是怎样协调工作的那? (1)对于设备来说,其有两部分组成,一部分是机械部分,还有一部分是电子控制部分. ...

  7. StringBuffer疑问

    为何结果为AB.B? public static void main(String[] args) { StringBuffer a=new StringBuffer("A"); ...

  8. Linux系统编程_6_进程环境(C程序典型的存储空间)

    1.八种结束Linux进程的方法: 五种正常终止方式: main函数返回: 调用exit: 调用_exit或_Exit 最后一个线程从其启动例程返回 最后一个线程调用pthread_exit 三种异常 ...

  9. iOS开发——高级篇——iOS 项目的目录结构

    最近闲来无事去面试一下iOS开发,让我感到吃惊的,面试官竟然问怎么分目录结构,还具体问每个子目录的文件名. 目录结构确实非常重要,面试官这么问,无疑是想窥探开发经验.清晰的目录结构,可让人一眼明白相应 ...

  10. 167. Two Sum II - Input array is sorted (二分ortwo-pointer)

    Given an array of integers that is already sorted in ascending order, find two numbers such that the ...