做了自动化测试这么久了,一直没有梳理到元素定位这一块的内容,其重要性不言而喻。趁着周末有时间,梳理一下。

1,通过id定位

driver.find_element_by_css_selector("#kw").clear()                   
driver.find_element_by_css_selector("#kw").send_keys("selenium")

2,通过class定位

driver.find_element_by_css_selector("input.bg").click()
其中class的值之间有空格时,只需要在空格中间加个点号就可以。
如:
driver.find_element_by_css_selector("div.clearfix.oe_login_buttons“)。click()

3,通过属性定位
driver.find_element_by_css_selector("[placeholder='请输入密码']").clear()

4,通过元素的层级定位
driver.find_element_by_css_selector("div.clearfix.oe_login_buttons>button.btn.btn-primary").click()

工作中经常用的定位方法是通过儿子找父亲,再找父亲的兄弟。不知道CSS能不能实现。后续再补充与更新。反正XPATH是可以实现的。
最后上一段完整的代码吧。
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(20)
driver.get("http://www.***************")
driver.find_element_by_css_selector("[name='login']").clear()
driver.find_element_by_css_selector("[name='login']").send_keys(u"大猩猩")
driver.find_element_by_css_selector("[placeholder='请输入密码']").clear()
driver.find_element_by_css_selector("[placeholder='请输入密码']").send_keys("13*********")
driver.find_element_by_css_selector("div.clearfix.oe_login_buttons>button.btn.btn-primary").click()
time.sleep(3)
driver.quit()

一:unittest框架配合selenium工具之CSS_selector定位。的更多相关文章

  1. 二:unittest框架配合selenium之xpath定位

    刚开始学习selenium自动化测试时,犯了一个不该犯的错误,偷懒,使用火狐浏览器中的扩展FIREBUG,FIREPATH来辅助定位. 虽然用的定位方法大多数是使用XPATH方法,但是是工具定位出来的 ...

  2. 三:robotframework框架配合selenium之jquery定位

    RF框架我用的比较多,限于自己的代码水平,目前工作中一直是用RF框架.unittest框架,我也练习了很久,还差一点封装的技巧与设计模式的学习.所以不敢在项目中实践. 等明年我的代码水平再上升一个台阶 ...

  3. Python+Selenium+Unittest框架使用——Selenium——定位元素(二)

    1.定位元素(id.name.class.link.partial link) (1)find_element_by_id() 用百度定位测试,用firebug查看定位元素 ,输入框的id为“kw”, ...

  4. Python+Selenium+Unittest框架使用——Selenium——模拟操作浏览器(三)

    1.浏览器大小的控制 Set_window_size()是控制浏览器大小 Maximize_window()浏览器全屏显示 from selenium import webdriver #导入sele ...

  5. 使用python处理selenium中的css_selector定位元素的模糊匹配问题

    # 匹配id,先指定一个html标签,然后加上“#”符号,再加上id的属性值 self.driver.find_element_by_css_selector('div#ID').click() # ...

  6. 如何快速的学习selenium工具

    分享即快乐. 最近几年,软件测试工程师一度成为热门职业,作为测试员也是倍感压力.作为测试员来说,仅仅会手工测试让职业生涯陷入瓶颈.于是工作之余充电,学习了自动化测试工具selenium,打算进阶中高级 ...

  7. selenium + python自动化测试unittest框架学习(一)selenium原理及应用

    unittest框架的学习得益于虫师的<selenium+python自动化实践>这一书,该书讲得很详细,大家可以去看下,我也只学到一点点用于工作中,闲暇时记录下自己所学才能更加印象深刻. ...

  8. selenium + python自动化测试unittest框架学习(二)

    1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py &g ...

  9. python selenium --unittest 框架

    转自:http://www.cnblogs.com/fnng/p/3300788.html 学习unittest 很好的一个切入点就是从selenium IDE 录制导出脚本.相信不少新手学习sele ...

随机推荐

  1. BZOJ 4568: [Scoi2016]幸运数字(倍增+线性基)

    传送门 解题思路 异或最大值肯定线性基了,树上两点那么就倍增搞一搞,就维护每个点到各级祖先的线性基,时间复杂度\(O(nlog^3n)\),并不知道咋过去的. 代码 #include<iostr ...

  2. sequel 远程连接 MySQL 连接错误Can't connect to MySQL server on (61)

    Mac sequel Pro链接时报错Can’t connect to MySQL server on ‘xx.xx.xx.xx’ (61). PS. win版Navicat 报错Can’t conn ...

  3. flutter Could not find the built application bundle

    报错信息Could not find the built application bundle at build/ios/iphoneos/Runner.app. Error launching ap ...

  4. 【开源项目】一篇文章搞掂:Pig微服务框架

    1.项目开发环境和运行步骤 1.1.项目开发环境 Idea:2018.1.6 Maven:3.5.3 JDK:1.8.0_172 MySQL:5.7.19(之前安装8.0.11会运行失败) Redis ...

  5. php开发面试题---Apache 运行PHP原理(整理)

    php开发面试题---Apache 运行PHP原理(整理) 一.总结 一句话总结: 不要忘记 php引擎将页面静态化 和 php引擎和apache之间通讯 反思的回顾非常有用,因为决定了我的方向和技巧 ...

  6. Appium+python自动化-查看app元素属性

    本文转自:https://www.cnblogs.com/yoyoketang/p/7581831.html 前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道 ...

  7. 算法刷题笔记-stack-四则运算

    题目描述: 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果.你需要给出所有可能的组合的结果.有效的运算符号包含 +, - 以及 * . 示例 1: 输入: &qu ...

  8. 安装项目依赖pipreqs并生成requirements.txt

    安装项目依赖:sudo pip3 install pipreqs 生成依赖文件(requirements.txt):pipreqs ./   # 进入项目目录,在项目文件夹里生成安装依赖文件里的环境: ...

  9. 洛谷 P2023 维护序列——线段树

    先上一波题目 https://www.luogu.org/problem/P2023 复习了一波线段树 题目涉及的操作有区间加 区间乘以及区间求和 tips:线段树在传标记的时候 优先传乘法标记再传加 ...

  10. spring配置mybatis的sqlsessionfactory

    <!--读入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.bean ...