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 ...
随机推荐
- sudo权限管理
sudo权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 好久没有更新关于命令的博客了,这也是这周工作,开发问了我一个问题,说caiq这个用户为什么不能用sudo权限,于是百 ...
- xvfb-run: error: xauth command not found 解决方式
解决方式转于:http://tokanao.com/blog/2016/07/13/blog.html 错误提示 array(2) { [0]=> string(27) "which: ...
- 文件上传---form表单,ajax,jquery,以及iframe无刷新上传 (processData,contentType讲解)
服务端程序: import tornado.web import os IMG_LIST=[] class IndexHandler(tornado.web.RequestHandler): def ...
- CentOS6.x网易163yum源配置
一.备份原yum源 [root@yancy ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.$(d ...
- jmeter使用正则表达式匹配多个中的响应结果
一.背景: 同一个正则表达式匹配多个响应结果值,之前都是添加多个正则表达式,一个一个去获取需要的值,比较麻烦:今天尝试了一下用一个正则表达式获取响应中所有需要的值,使用这种方式也能够获取多个结果中指定 ...
- 第二节:从程序集的角度分析MemoryCache,并完成基本封装
一. 轻车熟路 有了上一个章节对 System.Web.Caching.Cache 的探究,这里我们按照同样的思路对 MemoryCache 进行探究,相信必定会得心应手. 1. 程序集准备 a. 需 ...
- 选择排序算法的JAVA实现
1,采用选择排序对元素进行排列时,元素之间需要进行比较,因此需要实现Comparable<T>接口.即,<T extends Comparable<T>>. 更进一 ...
- tensorflow实现mnist
import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # 在变量的构建时,通过trunc ...
- Mongodb 备份 数据导出导入
MongoDB 客户端工具 mongochef 可以进行一系类操作 MongoDB 非客户端操作 : mongod 备份导出 mongoexport -h IP --port 端口 -u 用户名 -p ...
- Linux之Ubuntu安装搜狗输入法
1.下载搜狗输入法安装包 搜狗官网:https://pinyin.sogou.com/linux/ 2.更新ubuntu内置的包管理器apt-get的软件源[如果中途安装失败,经常是此原因造成的] s ...