selenium(python)下定位单个元素的常用方法

定位单个元素的常用方法

以百度搜索框额面为例,蓝色位置为定位到输入框的属性:

<input id="kw" class="s_ipt" autocomplete="off" maxlength="255" value="" name="wd">

1、       用id定位元素:find_element_by_id()

从定位到的属性可以看到一个id属性:id=”kw”,这里可以通过这个id属性定位到这个元素,定位到元素后,用 send_keys()方法来输入数据

2、       Name定位元素:   find_element_by_name()

由于name不是唯一的,所有用name定位时容易出错,必须保证name是唯一时,才能用name定位。

3、       Class定位元素:   find_ element_ by_class_name()

4、       Tag定位元素:   find_element_ by_tag_name()

由于一个页面上有很多个tag(标签),所有一般不用标签来定位。例如搜索框的标签属性为“input”,所以我们用input来定位,举例:

5、       Link-定位元素:  find_element_ by_link_text()

定位超链接时可以用link定位,,如百度首页上的“新闻”,

查看页面元素:

<a class="mnav" name="tj_trnews" href="http://news.baidu.com">新闻</a>

从元素中可以查看到“href="http://news.baidu.com"”,说明是超链接,对于这种元素可以用一下方法

6、       模糊匹配方式partial_link定位元素: find_element_by_partial_link_text()

超链接字符串比较长时,可以通过模糊匹配来定位元素,即截取部分字符串即可,例如:

7、       Xpath定位元素:  find_element_by_xpath()

如果一个元素既没有id,也没有name、class等属性,也不是超链接,且属性可能还会有很多重复的元素的时候,可以用xpath定位来解决元素定位的问题。

Xpath是一种路径语言,xpath语言另写

8、       Css定位元素:  find_element_by_css_selector()

Css是另一种语法,即层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。[1]

CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

Css比xpath更为简洁,但是不好理解。新手建议先学如何通过工具来查看元素(通过Firepath可以查看到css定位的元素路径)。

时间: 2024-11-11 05:40:52

selenium(python)下定位单个元素的常用方法的相关文章

Java+selenium之WebDriver定位页面元素(二)

Selenium-Webdriver 提供了强大的元素定位方法,支持以下三种方法: 单个对象的定位方法,多个对象的定位方法和层级定位 1. 定位单个元素 1 // 对于元素的属性包含 id 的情况适用,推荐使用 2 WebElement we = drive.findElement(By.id("id")); 3 // 对于元素的属性包含 name 的情况适用,推荐使用 4 WebElement we = drive.findElement(By.name("name&quo

【Python】定位一组元素、

前几天生病加懒惰 TAT ========================================================================== 1.getAttribute()方法是一个函数.它只有一个参数--你打算查询的属性的名字: 2.http://www.cnblogs.com/fnng/p/3190966.html 注意路径 3. [Python]定位一组元素.,布布扣,bubuko.com

Python selenium根据class定位页面元素

在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的.但是实际工作中,很多前端开发人员并未给每个元素都编写id属性.通常一段html代码如下: 1 <div class="sui-tips s-isindex-wrap sui-tips-exceedtipnews" style="display: none; width: auto;"><div class="sui-tips-arrow"

Selenium+Python常见定位方法

参见官网:http://selenium-python.readthedocs.io/locating-elements.html Selenium提供了下面的方法来定义一个页面中的元素: find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_text find_element_by_partial_link_text find_element_by_tag_name find_ele

selenium IDE(五)selenium 命令之定位页面元素

定位页面元素 对于很多selenium命令,target域是必须的.Target在web页面范围内识别UI元素,它使用locatorType=location的格式.在很多情况下,locatorType可以省略,下面举例方式来描述各种类型的locatorType. 假如,有如下一段HTML代码: html> <body> <form id= "loginForm" > <input name= "username" type= &

【转载】【selenium+Python WebDriver】之元素定位

总结: 感谢"煜妃"<Selenuim+Python之元素定位总结及实例说明>和"Huilaojia123"<selenium WebDriver定位元素学习总结>的文章

selenium学习:定位一组元素

文件名:checkbox.html <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <title>Checkbox</title> <link href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css&

第三章:WebDriver定位—— 单个元素定位(id , name ,class , LinkText )

1. 打开百度页面进入开发者模式中,查看页面源代码. 2. 通过 代码来 练习各个定位元素.

python selenium系列(二)元素定位方式

一 前言 元素定位,是操作元素的第一步,也是WebUI自动化的难点和核心. 二 元素定位方法 selenium提供了内置的方法完成对待操作元素的定位,主要分为8类,其中,每类又可细分为定位单个元素和定位多个元素,另外还提供了2个私有方法.详细如下: 定位单个元素 ·         find_element_by_id ·         find_element_by_name ·         find_element_by_xpath ·         find_element_by_