selenium的八种定位方式

1.通过id定位     find_element_by_id()

send_keys() 输入框输入字符串

click()  鼠标点击事件

注:send_keys输入中文时,需要在前面添加“u”

表示把输入的中文转换成unicode国际编码

Text可以打印元素的文本信息

2.通过name定位

find_element_by_name()

3.通过class定位

find_element_by_class_name()

Class中有空格是多重属性,取其中一个就行

4.通过tag定位

find_element_by_tag_name()

页码上标签一样的很多,那么通过tag是无法定位到某个元素

通常用于定位一组元素

5.通过link定位

find_element_by_link_text()

Link是一个链接点击后可以跳转到指定页面

Link都有href属性

6.通过partial link定位

find_element_by_partial_link_text()

一个很长的文本,可以截取部分定位

7.XPath是一种在XML文档中定位元素的语言

//表示当前页面某个目录下,input表示单位元素的标签名,[@id= 'kw' ]表示这个元素的id属性值等于kw,如果不想制定标签名,也可以用星号(*)代替,表示当前节点

driver.find_element_by_xpath("//input[@id='kw']").send_keys("123")

driver.find_element_by_xpath(".//*[@id='su']").click()

8.CSS定位

driver.find_element_by_css_selector("#kw").send_keys("123")

定位单一元素时,要保证元素是唯一的。

把定位工具切换到HTML,然后输入元素,确定是否是唯一

find_element()方法只用于定位元素

需要两个参数,一个是定位方式,一个是定位的值。

定位方式by,需要导入by类:

  from selenium.webdriver.common.by import By

find_element(By.ID,"kw")

Typy(数据) 打印数据类型

Elements

用于定位一组数据,用复数定位,保存后可以查看类型  type()

然后通过下标可以取出其中某一个元素.

常规操作:

1.切换iframe

  driver.switch_to_frame("x-URS-iframe")

2.清空输入框

  find_element_by_name("email").clear()

3.输入文本信息

  send_keys()

4.鼠标单击

  click(0

5.模拟回车操作

  submit()

  模拟回车的时候,需要光标在密码框

No.2 selenium学习之路之八种基本定位的更多相关文章

  1. No.10 selenium学习之路之通过元素定位获取属性

    1. implicitly_wait()隐形等待.等待页面加载完成,作用是全局的. 时间可以设置的长,短时间也没有影响.直到设置的时间耗完 时间耗完也不会报错 2.获取title值 driver.ti ...

  2. selenium 学习之路开始了,一遍搬一遍理解学习,加油!!!

    selenium 学习之路开始了,一遍搬一遍理解学习,加油!!!

  3. selenium自动化测试——常见的八种元素定位方法

    selenium常用的八种元素定位方法 1.通过 id 定位:find_element_by_id() 2.通过 name 定位:find_element_by_name() 3.通过 tag 定位: ...

  4. [原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  5. No.1 selenium学习之路之浏览器操作

    selenium基础,首先就是浏览器的相关操作 下面描述几种浏览器的常用操作 1.打开浏览器 webdriver后面添加想要打开的浏览器 Ie或者Chrome 2.打开指定页面(百度) 3.休眠时间 ...

  6. No.20 selenium学习之路之文件读写

    1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.tx ...

  7. No.17 selenium学习之路之判断与等待

    一.三种等待方式 1.sleep 加载time库.time.sleep() 休眠单位以秒为单位 2.implicitly_wait() 等待页面完全加载完成(左上角转圈结束) 参数为等待时间,等待页面 ...

  8. No.16 selenium学习之路之异常处理

    一.常见的几种异常: SyntaxError:语法错误 NameError:试图访问的变量名不存在 IndexError:索引错误,使用的索引不存在,超出序列范围 KeyError:使用了不存在的关键 ...

  9. No.6 selenium学习之路之下拉框Select

    HTML中,标签显示为select,有option下拉属性的为Select弹框 1.Xpath定位 Xpath语法,顺序是从1开始,编程语言中是0开始

随机推荐

  1. 面向对象高级编程(2)-使用@property

    使用@property 在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9999 这显然不合逻 ...

  2. Android Studio多Module使用 aar 依赖包 丢包解决

    FAQ: AAR打包引用丢包问题, jar, aar, dependency 嵌套层级依赖的丢失 问: aar包中,如何包含第三方依赖库? 如果直接作为module 依赖是没有问题的,但是如果打包成a ...

  3. Jenkins(二)---jenkins之Git+maven+jdk+tomcat

    git+maven+jdk+tomcat  这四个软件可以百度在linux下的安装,不再赘述. server A --->   jenkins主机ip:192.168.100.119 serve ...

  4. Jenkins(一)---我理解的jenkins是这样的

    1.齿轮 如果将 java / maven / ant / git / tomcat / jenkins 等等软件比喻为齿轮:如下图 两个软件在一起可以驱动另外一个软件:如下图 如果把这些软件要集成在 ...

  5. Linux可执行文件后缀问题

    一般来说,可执行文件没有扩展名. Linux不根据扩展名判断文件类型,而是根据文件的内容来判断.所以扩展名的作用是帮助人来识别文件,对于Linux系统本身来说没有什么用处. .sh结尾表示是shell ...

  6. socket利用多线程实现一对多通信

    1.服务器端:socket()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接.将accept()写入死循环,每次连接一个客户端,开一个线程. 2.一般情况下建立s ...

  7. bzoj千题计划151:bzoj1131: [POI2008]Sta

    http://www.lydsy.com/JudgeOnline/problem.php?id=1131 dp[i]=dp[fa[i]]-son[i]+n-son[i] #include<cst ...

  8. Seven Techniques for Data Dimensionality Reduction

    Seven Techniques for Data Dimensionality Reduction Seven Techniques for Data Dimensionality Reductio ...

  9. js小记 unicode 编码解析

    var str = "\\u6211\\u662Funicode\\u7F16\\u7801"; // 关于这样的数据转换为中文问题,常用的两种方法. // 1. eval 解析 ...

  10. 从咖啡馆的经营看 Web 应用的扩展

    我经营着一家咖啡馆.经营成本同所用的资源成正比. 我的咖啡馆店面大概有一百平方英尺(约九平方米),雇佣了一个咖啡师,一台咖啡机. 营业能力: 每次能够服务一个顾客,用三分钟泡制一杯咖啡,算下来服务一个 ...