之前做自动化测试一直用RF框架来操作,发现了明显与unittest的灵活性相差一点。

重新温习了unittest框架,其中这个框架,元素定位是难点,以前更多的使用JQUERY方式定位,

发现其实与CSS定位很相近,有很多共通之处。

今天顺便来复习一下。以前XPATH定位用的也比较多。但图方便之时,很少自己去定位,直接用工具了。

多话不说了,CSS定位总体上有几种,

一,通过元素属性来定们,

例子:driver.find_element_by_css_selector(".class")

drvier.find_element_by_css_selector("#id")

二,通过标签名来定位。

driver.find_element_by_css_selector("input")

这种方式找到元素的概率非常低。因为标签名重复的概率非常大。

1,通过父子关系定位。

driver.find_element_by_css_selector("span>input")

2,通过属性定位

driver.find_element_by_css_selector("[name=kw]")

driver.find_element_by_css_selector("[type=submit]")

3.组合定位

driver.find_element_by_css_selector("form.fm>span>input>input.s_ipt")

driver.find_element_by_css_selector("form#form>span>input#kw")

今天就暂时记录这么多。后续补充。

还有一种,通过兄弟元素来找,例子:div+input

后面补充的内容是从https://blog.csdn.net/ouyanggengcheng/article/details/77197294这里转载的。

这补充了CSS中的部分内容。

掌握了前面的几种方法,CSS定位基本没有困难了。

平时多练习,其实CSS与jquery定位方法真的很相近,除了定位第几个元素格式有大的区别,其他的几种格式基本都差不多。

自动化测试之CSS定位的更多相关文章

  1. RobotFramework自动化测试之元素定位

    前言:最近在做基于RF框架的Web自动化测试,其中涉及到元素的定位,主要用到id.name.xpath.css四中定位方法,尤其后面的两种方法特别有效,可以解决大部分的定位问题. id和name定位 ...

  2. selenium+python自动化之CSS定位

    一.css:属性定位 1.css可以通过元素的id.class.标签这三个常规属性直接定位到 2.如下是百度输入框的的html代码: <input id="kw" class ...

  3. Selenium自动化测试之元素定位

    步骤: 1.通过前端工具,查看元素的属性 2.通过属性定位 iddriver.findElement(By.id("kw")) namedriver.findElement(By. ...

  4. appium自动化测试之元素定位

    方法一 使用SDK中附带的uiautomatorviewer来定位 在SDK安装目录下的tools下有个uiautomatorviewer.bat批处理文件点击运行 运行后(注意appium desk ...

  5. Appium移动端自动化测试之元素定位(三)

    1.name定位 driver.find_element_by_id(') driver.find_element_by_id(') driver.find_element_by_name('登录') ...

  6. Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析

    加速IE浏览器自动化执行效率:Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析 1.技术背景       在Web应用中,用户通过键盘在输入框中输入值和鼠标点击按钮,链 ...

  7. UI自动化之元素定位(xpath、css)

    很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...

  8. appium自动化测试之UIautomatorviewer元素定位

    appium自动化测试之UIautomatorviewer元素定位 标签(空格分隔): uiautomatorviewer元素定位 前面的章节,已经总结了怎么搭建环境,怎样成功启动一个APP了,这里具 ...

  9. 【WEB自动化测试之控件定位】基于HTML5控件的唯一控件属性定位

      一.WEB控件定位是什么 要想弄懂这个问题,我们还是基于实践来学习.我们先来看一条入门级别自动化测试用例的构成. DemoCase:正确用户名和密码登录博客园,登录成功 URL: https:// ...

随机推荐

  1. 运行python不报错,运行pip报错

    Fatal error in launcher: Unable to create process using '""c:\program files (x86)\python36 ...

  2. error C2664: “ATL::CStringT<BaseType,StringTraits>::Remove”: 不能将参数 1 从“const char [2]”转换为“char”

    转自VC错误:http://www.vcerror.com/?p=1395 问题描述: 代码: CString str("asdfafda"); str.Remove(" ...

  3. 目前写出的bug

    要检测p->next 与p都不=NULL while(p->next!=NULL &&p!=NULL) 会导致访问access NULL pointer的runtime错误 ...

  4. Get The Treasury【HDU-3642】【扫描线】

    题目链接 题目给出的是N个体积块,问的是有多少体积重叠了3次及以上? 那么就是怎么处理体积这样子的问题了,看到Z的种类不多的时候,就想着从Z离散化的角度去考虑这个问题了,然后就是怎样子去处理面积了,这 ...

  5. python 波波版压缩软件

    #压缩软件 import os import zipfile import tkinter import tkinter.filedialog import tkinter.messagebox '' ...

  6. 基本数据类型和string类型的转换

    基本数据类型转string类型: 方式1:fmt.Sprintf("%参数", 表达式) [个人习惯这个,灵活] 函数的介绍: func Sprintf func Sprintf( ...

  7. 解决text-align: justify;浏览器、安卓手机不兼容问题

    1.兼容PC端浏览器 .h_text{ text-align:justify; text-justify:inter-ideograph;width:200px;} .span_hid{ displa ...

  8. python基础之运算符和编码

    while循环 什么是循环? 就是不断的重复做一件事 while --关键字 后边跟条件 :还有循环体. 条件体为真,循环体内执行,为假不执行 while else 两者为一体的,相当于 if els ...

  9. unity碰撞检测(耗费性能)

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class PengZhua ...

  10. JS面向对象——组合使用构造函数模型与原型模型中的隐患

    组合使用构造函数模型和原型模型中的问题,使用对象字面量重写原型模型会有隐患(涉及到原型的动态性),如下例: <!DOCTYPE html> <html> <head> ...