# 八种单数定位方式: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二:定位方式的更多相关文章

  1. python selenium xpath定位方式

    作者刚开始写博客,格式和语言方面难免存在问题,请大家海涵,如果有问题也请直接指出 xpath是一种在xm文档中定位的语言,详细简介,请自行参照百度百科,本文主要总结一下xpath的使用方法,个人看法, ...

  2. selenium的定位方式

    1.selenium的定位方式 selenium有18种定位方式,8种单数,8种复数,2种父类 2.8种单数定位方式 from selenium import webdriverimport time ...

  3. Python+Selenium自动化-定位一组元素,单选框、复选框的选中方法

    Python+Selenium自动化-定位一组元素,单选框.复选框的选中方法   之前学习了8种定位单个元素的方法,同时webdriver还提供了8种定位一组元素的方法.唯一区别就是在单词elemen ...

  4. Python+Selenium自动化-定位页面元素的八种方法

    Python+Selenium自动化-定位页面元素的八种方法   本篇文字主要学习selenium定位页面元素的集中方法,以百度首页为例子. 0.元素定位方法主要有: id定位:find_elemen ...

  5. selenium常用定位方式

    Selenium 是一个Web应用程序的自动化测试工具.使用javaScript内核语言编写,几乎支持所有能运行javaScript的浏览器(包括IE(7, 8, 9, 10, 11),Mozilla ...

  6. python selenium 元素定位(三)

    上两篇的博文中介绍了python selenium的环境搭建和编写的第一个自动化测试脚本,从第二篇的例子中看出来再做UI级别的自动化测试的时候,有一个至关重要的因素,那就是元素的定位,只有从页面上找到 ...

  7. selenium 2定位方式实例

    #########百度输入框的定位方式########## #通过id方式定位 browser.find_element_by_id("kw").send_keys("s ...

  8. python selenium八大定位方法

    一.定位方法 注意:元素属性必须唯一存在 #id定位 find_element_by_id() #name定位 find_element_by_name() #class_name定位 find_el ...

  9. python selenium(定位方法)

    一.定位方法 注意:元素属性必须唯一存在 #id定位 find_element_by_id() #name定位 find_element_by_name() #class_name定位 find_el ...

随机推荐

  1. Hadoop生态圈-Cloudera Manager的基本使用

    Hadoop生态圈-Cloudera Manager的基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.ClouderaManager功能 1.1>.管理监 ...

  2. IOS绘图的核心步骤

    在view上绘制一个图形的方式有很多种,表现形式可能不一样,但其实质步骤都是一样的: 1)获取上下文 2)绘制路径 3)添加路径到上下文 4)修改图形状态参数 5)渲染上下文 下面我们以画一个圆形来演 ...

  3. springboot的注解详解

    配置类相关: @PropertySource(value = "classpath:test.properties")   //我们都把配置文件写到application.yml中 ...

  4. Html+Ajax+Springmvc+Mybatis,不用JSP【转】

    有一个原因如下很合本人观点: http://bbs.csdn.net/topics/390939813 前端使用HTML+Ajax,后端使用Java Servlet,这样完全可以做到前后端分离,前端那 ...

  5. 16. Spring boot 错误页面

      默认效果:1).浏览器,返回一个默认的错误页面 1.1 请求头 1.2返回结果 2).如果是其他客户端,默认响应一个json数据 2.1请求头 2.2返回结果 { "timestamp& ...

  6. java程序在windows后台执行的办法

    1.新建run.txt文件 2.在文件中输入一下内容: @echo off start javaw -jar xx.jar exit 3.保存,修改文件名为run.bat4.双击即可 5.删除wind ...

  7. 微信小程序开发(1) 天气预报

    本文介绍如何使用微信小程序开发天气预报功能. 一.项目文件列表 二.小程序配置 使用app.json文件来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 等. ...

  8. drozer工具的安装与使用:之二使用篇

    如果英文好的同学可以直接查看官方文档   官方文档连接:https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide ...

  9. 2018-2019-2 网络对抗技术 20165227 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165227 Exp2 后门原理与实践 (1)例举你能想到的一个后门进入到你系统中的可能方式? 接收邮件的方式 (2)例举你知道的后门如何启动起来(win及l ...

  10. 2018-2019-2 网络对抗技术 20165320 Exp2 后门原理与实践

    后门原理与实践 windows获取Linux操作Shell 获取本机的IP netcat介绍:一个进行基本的TCP.UDP数据收发的工具 相关的参数与具体用法 windows打开监听: ncat.ex ...