Web自动化基础(一)使用Selenium定位元素
什么是元素?我们知道网页上有什么内容显示出来,比如一个按钮,一个输入框,一张图片,都可以理解成元素,这些元素是由html代码构成的,比如图片可以用<img>标签来展示,一个输入框可以用<input>标签来表示......

如上图的百度搜索框,通过HTML源码,我们可以看到下图的代码:

它是一个input,其中有type、class、name、id等属性,我们可以根据这些属性值来定位元素。
Selenium 功能丰富的API 提供了多个定位策略如:Name、ID、CSS 选择器、XPath 等等。selenium查找元素是通过“By”这个类指定定位方式的,首先看一下By类中的方法:
此类中有多个定位方式,比如className(java.lang.String className),这里面传入的是页面元素的classname属性,我们如何知道元素的classname属性值呢?还有xpath,我们要如何知道xpath值是多少呢?其实通过火狐浏览器插件:firepath和firebug可以很方便的进行元素定位。
接下来,我们通过上面百度的输入框,来举例Selenium的元素定位。
1.通过id定位:by.id(“kw”),然后用WebElement接收对象代码如下:
WebElement element = driver.findElement(By.id("kw"));
2.通过classname定位:by.className(“s_ipt”),然后用WebElement接收对象代码如下:
WebElement element = driver.findElement(By.className("s_ipt"));
3.通过name定位:by.name(“wd”),然后用WebElement接收对象代码如下:
WebElement element = driver.findElement(By.name("wd"));
另外,还可以通过tag,link,partial link,CSS定位,JQuery,Xpath定位。
xpath定位方法也是用的最多的一个定位方式,这个可以根据xpath的规则去学习学习,同时也可以结合火狐插件工具firepath来获取元素的xpath值,这里不再赘述。
以上,就是selenium定位元素的方式,下次给大家分享如何控制元素和浏览器。
Web自动化基础(一)使用Selenium定位元素的更多相关文章
- Selenium基于Python web自动化基础一 -- 基础汇总及简单操作
Selenium是UI层WEB端的自动化测试框架,也是目前市面上比较流行的自动化测试框架. ui层自动化测试本质是什么?模拟用户的真实操作行为. 基础汇总: 导入所需要的模块 from seleniu ...
- Python Selenium定位元素常用解决办法
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException), ...
- selenium 定位元素可以用多个findElement
selenium 定位元素可以用多个findElement,如driver.findElement(By.id"XXX").findElement(By.linkText(XXX) ...
- python+selenium基础篇,By定位元素
1.By定位和find_element_by_XXXXXX是一样的,如下图所示,定位元素的方法都是一样的 2.使用By定位代码如下所示 from selenium import webdriver f ...
- selenium定位元素方法汇总
#打开网页前三步 from selenium import webdriver driver=webidriver.Chrome() driver.get("https://www.baid ...
- Web自动化基础分享
一.Selenium 简介 Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具. 与其他测试工具相比,使用 Selenium 的最大好处是: Seleniu ...
- selenium 定位元素方法
1.通过id定位元素 写法1: element = driver.find_element_by_id("kw") 写法2: from selenium.webdriver.com ...
- 『心善渊』Selenium3.0基础 — 11、Selenium对元素常用操作
目录 1.Selenium对元素常用操作 2.Selenium对元素的其他操作 1.Selenium对元素常用操作 操作 说明 click() 单击元素 send_keys() 模拟输入 clear( ...
- python+selenium 定位元素的主要方法
selenium对web各元素的操作首先就要先定位元素,定位元素的方法主要有以下几种: 通过id定位元素:find_element_by_id("id_vaule") 通过name ...
随机推荐
- 终于搞定office 2013中文双引号无法匹配问题啦!!!
设计>>字体>>自定义字体>>所有字体改为宋体>>保存>>点击字体确认当前字体是自己刚新建的>>点击旁边设为默认值>> ...
- Eclipse创建maven项目
许久不创建maven web项目了,今天上手很是陌生,搜集资料后终于创建成功,跟大家也分享一下,同时也便于以后再次忘记使用... 新建maven项目(右击new,若不存在,可在other里面寻找)
- SpringMVC框架下实现JSON(类方法中回传数据到jsp页面,使用jQuery方法回传)
JSON的实现,即将需要的数据回传到jsp页面: 1>.加入实现Json的三个架包到lib中:2>.目标方法上边加入注解,需要返回的值3>.在jsp页面中书写jQuery方法: ec ...
- Java的日期工具类
package com.tech.jin.util; import java.text.DateFormat; import java.text.ParseException; import java ...
- 杀死mapreduce
在做mapreduce的时候,ctrl+c 其实就是在doc命令下杀死了mapreduce显示,后台还是有在运行mapreduce的程序 可以http://namenode.hadoop:8088/ ...
- XArp汉化破解专业版,强大易用的ARP欺骗检测器
汉化作者:Bluefish 破解来自:http://www.52pojie.cn/thread-464808-1-1.html官方网站:http://www.xarp.net/ ----------- ...
- 【Spring】简单的Spring MVC入门例子
前言 测试特性需要搭建一个简单的Spring MVC的例子,遂记录之,只是例子,只为入门者之示例. 版本说明 声明POM文件,指定需引入的JAR. <properties> <spr ...
- MySQL基本数据类型
MySQL数据类型包括:整型.浮点型.日期类型.字符型,这里用表格的方式详细说明每个数据类型,这些只要记住常用的即可,需要再查阅. 整型 数据类型 存储范围 字节 TINYINT 有符号值:-128 ...
- 欧拉回路(hdu3018)
刚学图论不久,看着别人的博客慢慢学了一点基础的,感觉还是有点力不从心,感觉图论的题好多长得都很像,什么太监算法(Tarjan),Kosaraju,当然最基础的还是并查集...好了继续介绍这道题.... ...
- angularjs指令系统系列课程(2):优先级priority,模板template,模板页templateUrl
今天我们先对 priority,template,templateUrl进行学习 1.priority 可取值:int 作用:优先级 一般priority默认为0,数值越大,优先级越高.当一个dom元 ...