python+selenium二:定位方式
# 八种单数定位方式:element
from selenium import webdriver
import time
driver = webdriver.Firefox()
time.sleep(2) # 等待2秒
driver.get('https://www.baidu.com')
1、id定位:find_element_by_id()
# 定位到输入框,输入“中文”

time.sleep(2)
driver.find_element_by_id('kw').send_keys('中文')

2、name定位:find_element_by_name()
# 根据name定位到百度贴吧的输入框,输入“你好”

driver.find_element_by_name('kw1').send_keys('你好')

3、class定位:find_element_by_class_name()
# 当class唯一时,才能使用此方法
# 根据class属性找到输入框,输入“你好”

driver.find_element_by_class_name('s_ipt').send_keys('你好')

4、根据标签名定位:find_element_by_tag_name() (由于标签名不唯一,不建议用此方法)

driver.find_element_by_tag_name('body')
# 获取定位元素下的文本信息
t = driver.find_element_by_tag_name('body').text
print(t)

5、link定位(链接):find_element_by_link_text()
# <a class="mnav" name="tj_trnews" href="http://news.baidu.com">新闻</a>
# href="http://news.baidu.com": 一般为link属性
# 根据link的文字内容“新闻”定位到link链接
driver.find_element_by_link_text('新闻').click()
6、partial_link定位
# 当代表link链接的文字内容过长时,可使用此方式截取部分文字定位

driver.find_element_by_partial_link_text('hao').click()

7、Xpath定位:find_element_by_xpath()

xpath定位:.//*[@class="XXX"]、.//*[@id="XXX"]、.//*[@name="XXX"]、.//input(匹配input标签)、.//*[text()="文字内容"]、.//*[contains(text(),"文字内容")](匹配text属性里面有”文字内容”的所有内容)、
driver.find_element_by_xpath(".//*[@id='u1']/a[3]").click()

8、CSS定位:find_element_by_css_selector()(不唯一)

driver.find_element_by_css_selector("#kw").send_keys("你好")

复数定位方式:elements (对元素不唯一),以id为例:
# 单数定位:
driver.find_element_by_id('kw').send_keys('中文')

# 复数定位:根据找出的元素的下标定位
elements = driver.find_elements_by_id('kw')
print(len(elements)) # 当不清楚定位到几个元素的时候,可以用此方法打印出来筛选
elements[0].send_keys('中文')

# 当class属性有多个的时候,带空格
# 当有多个class属性的时候,此空格并不是空的字符串,而是此class具有多重属性
# class="search_ipt search_inp_border j_search_input tb_header_search_input"
# 贴吧输入框
# 确定其中某一个属性是唯一以后,取此属性即可
driver.find_element_by_class_name("search_ipt").send_keys("你好")

python+selenium二:定位方式的更多相关文章
- python selenium xpath定位方式
作者刚开始写博客,格式和语言方面难免存在问题,请大家海涵,如果有问题也请直接指出 xpath是一种在xm文档中定位的语言,详细简介,请自行参照百度百科,本文主要总结一下xpath的使用方法,个人看法, ...
- selenium的定位方式
1.selenium的定位方式 selenium有18种定位方式,8种单数,8种复数,2种父类 2.8种单数定位方式 from selenium import webdriverimport time ...
- Python+Selenium自动化-定位一组元素,单选框、复选框的选中方法
Python+Selenium自动化-定位一组元素,单选框.复选框的选中方法 之前学习了8种定位单个元素的方法,同时webdriver还提供了8种定位一组元素的方法.唯一区别就是在单词elemen ...
- Python+Selenium自动化-定位页面元素的八种方法
Python+Selenium自动化-定位页面元素的八种方法 本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_elemen ...
- selenium常用定位方式
Selenium 是一个Web应用程序的自动化测试工具.使用javaScript内核语言编写,几乎支持所有能运行javaScript的浏览器(包括IE(7, 8, 9, 10, 11),Mozilla ...
- python selenium 元素定位(三)
上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到 ...
- selenium 2定位方式实例
#########百度输入框的定位方式########## #通过id方式定位 browser.find_element_by_id("kw").send_keys("s ...
- python selenium八大定位方法
一.定位方法 注意:元素属性必须唯一存在 #id定位 find_element_by_id() #name定位 find_element_by_name() #class_name定位 find_el ...
- python selenium(定位方法)
一.定位方法 注意:元素属性必须唯一存在 #id定位 find_element_by_id() #name定位 find_element_by_name() #class_name定位 find_el ...
随机推荐
- JAVA-常用集合类型转换例子(基础必备)
package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.Arrays; import java.ut ...
- Hbase记录-Hbase介绍
Hbase是什么 HBase是一种构建在HDFS之上的分布式.面向列的存储系统,适用于实时读写.随机访问超大规模数据的集群. HBase的特点 大:一个表可以有上亿行,上百万列. 面向列:面向列表(簇 ...
- UVALive - 7263 Today Is a Rainy Day(bfs)
原题链接 题意 给两个等长的只含数字1,2,3,4,5,6的字符串s(|s|≤110),有两种操作: - 把一个位置的数字换成另一个数字,换成的数字也只能是1到6- 把这个字符串中相同的数字都换成另一 ...
- postgresql 常用速查
中文资料 中文资料 /**gp中的基本sql语法**/ --删除表 drop table testtb; --创建表 CREATE TABLE testtb ( id integer, "n ...
- 20155334 2016-2017-2 《Java程序设计》第九周学习总结
20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...
- android 简单的读写联系人
一.读取联系人 (1).从raw_contact表读 contact_id (2).从data表中读取data1 (3).从mimetypes读取mimetype 1.AndroidManifest. ...
- JavaScript之从浏览器一键获取教务处个人课程信息【插件】
由于博主的个人网站(:http://www.johnnyzen.cn/),每学期都需要更新呈现课程的静态信息,由于课程量多,而且手动爬取很冗杂,特别想自动化实现.这不,今天终于有点时间了,把之前写no ...
- cpp与其他语言相比较
new 相当于 malloc ,delete 相当于 free ,用法一样 c++ 有 namespace,可以避免类名污染 namespace xx{} c++ 有类 这个与 c#.as3比较 ...
- magelinux(0111)
Web Service 应用层:http, https 实现某类具体应用: 传输层协议:TCP, UDP, SCTP IANA: 0-1023:众所周知,永久地分配给固定的应用使用,特权端口: 102 ...
- mysql 查询优化 ~explain解读之select_type的解读
一 简介:今天咱们来聊聊explain的select_type 二 类型 (1)SIMPLE 简单的SELECT语句(不包括UNION操作或子查询操作) (2)PRIMARY/UNION PRIMAR ...