之前做自动化测试一直用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. B-Tree, B+Tree, B*树介绍

    [数据结构]B-Tree, B+Tree, B*树介绍 转   [数据结构]B-Tree, B+Tree, B*树介绍 [摘要] 最近在看Mysql的存储引擎中索引的优化,神马是索引,支持啥索引.全是 ...

  2. 建站手册-网站建设:Web 安全

    ylbtech-建站手册-网站建设:Web 安全 1.返回顶部 1. http://www.w3school.com.cn/site/site_security.asp 2. 2.返回顶部 1. 此刻 ...

  3. CentOS安装系统时硬盘分区建议

      一.常见挂载点的情况说明一般来说,在linux系统中都有最少两个挂载点,分别是/ (根目录)及 swap(交换分区),其中,/ 是必须的: 详细内容见下文: 安装系统时选择creat custom ...

  4. mootools使用Request.send()数据时刷新整个页面

    今天使用mootools做ajax登录时使用Request().send()数据时老是刷新整个页面,换成Requesr.JSON()也不行,弄了好长时间,很郁闷啊,最后终于发现onSuccess:fu ...

  5. centos 7 安装 redis 及 php-redis 拓展

    ===============redis 安装========================== 直接yum 安装的redis 不是最新版本 yum install redis 如果要安装最新的re ...

  6. sysenter内核入口点代码分析

    参考:http://www.mouseos.com/windows/kernel/KiFastCallEntry.html http://www.mouseos.com/windows/kernel/ ...

  7. 私有IP地址

    私有IP地址: 在ABC三类网络中,如下三段网络地址为私有IP地址,如何人都可以自行在自己的局域网中使用这些IP地址. A类私有:10.0.0.1----10.255.255.254 B类私有:172 ...

  8. Python多进程、多线程和协程简介

    一.进程和线程 进程是一个执行中的程序.每个进程都拥有自己的地址空间.内存.数据栈以及其他用于跟踪执行的辅助数据.在单核CPU系统中的多进程,内存中可以有许多程序,但在给定一个时刻只有一个程序在运行: ...

  9. gitlab fatal: Authentication failed for 'http://10.2.80.17:8090/yeyichao/201904041026PROj.git/'

    fatal: Authentication failed for 'http://10.2.80.17:8090/yeyichao/201904041026PROj.git/' git config ...

  10. java当中的Timer定时器的4种使用方式

    import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask ...