WebDriver的几种定位方式介绍

  1. 通过ID查找元素

通过页面元素的ID来查找元素是最为推荐的方式。W3C标准推荐开发人员为每一个页面元素都提供一个独一无二的ID元素,因此开发人员应避免单个页面上的所有元素存在ID不唯一的情况和元素ID是自动生成的情况。

页面元素的ID被作为首选的识别属性,因为这是最快的识别策略。

driver.findElement(By.id("Title")).sendKeys("test content");//如果需要,可用WebElement先存储起来, 然后再进行相应操作。

2.通过Name查找元素

WebElement searchBox = driver.findElement(By.name("wd"));

searchBox.sendKeys("java");

searchBox.submit();//提交

3.通过ClassName查找元素

4.通过TagName查找元素

与前述几个方式略有不同。其原因是同一个页面上具有相同TagName的元素可能一个都没,也可能有多个。因此建议在使用TagName为查找元素的条件时,使用findElements()来替代findElement()函数。

List<WebElement> scriptList = driver.findElements(By.tagName("script"));

System.out.println("There are "+scriptList.size()+" scripts on Xiaomi‘s page!");

5.通过LinkText查找元素

eg.<a href = "www.baidu.com">提交</a>

WebElement aboutGenExam = driver.findElement(By.linkText("提交"));

aboutGenExam.click();

6.通过PartialLinkText查找元素

如上,百度页面下方有“关于百度”的链接地址,其HTML代码如上,可通过anchor上的部分文本信息来查找该元素并进行操作, 如通过“关于”二字来查找该链接地址。

driver.get("www.baidu.com");

WebElement aboutLink = driver.findElement(By.partialLinkText("关于"));

aboutLink.click();

findElement()方法只会返回页面上第一个满足partialLinkText为“关于”的元素。如果希望找到页面上所有包含部分文本为"关于"的链接元素,则使用findElements()方法来替代。

7.使用CSS选择器查找元素

eg.需根据实际情况来判断。

WebElement about = driver.findElement(By.cssSelector("#lsb-id"));

aboutLink.click();

8.通过Xpath查找元素

xpath很强悍,但定位性能不是很好,所以还是尽量少用。如果确实少数元素不好定位,可以选择xpath或cssSelector。

9.通过JQuery查找元素(p34-39)

JQuery允许开发人员通过简单的步骤快速识别页面上的元素。在使用JQuery简化Selenium查找元素之前 ,需要首先确认页面是否已经加载了JQuery库。在这里分情况进行阐述,一种情况是页面本身已经加载了JQuery库,另一种情况是页面本身并没加载JQuery库。

时间: 2024-11-01 13:56:46

WebDriver的几种定位方式介绍的相关文章

CSS的三种定位方式介绍(转载)

在CSS中一共有N种定位方式,其中,static ,relative,absolute三种方式是最基本最常用的三种定位方式.他们的基 本介绍如下. static默认定位方式relative相对定位,相对于原来的位置,但是原来的位置仍然保留absolute定位,相对于最近的非标准刘定位,原来的位置消失,被后边的位置所顶替 下面先演示相对定位的案例 [html] view plain copyprint? <!DOCTYPE html> <html> <head> <

WebDriver API --8种定位方式

webdriver 提供了一系列的元素定位方法,常用的有一下8种方式: 1)id 2)name 3)class name 4)tag name 5)link text                通常用在超链接上 6)partial link text     通常用在超链接上 7)xpath                   通用方式 8)css selector xpath定位 如何这个标签本身没有属性,找父亲→爷爷 文本值定位 当标签属性很少,不足唯一区别元素时,但是标签中间存在唯一的

selenuim webDriver API 16种定位方式

错误截图: 这是由于html页面嵌套多个iframe导致的 解决办法:操作右侧的鼠标滚轮   滚动到上面就可以了 #操作鼠标滚轮 0,0表示最上面 js = 'window.scrollTo(0,0)' driver.execute_script(js) import time time.sleep(2) 原文地址:https://www.cnblogs.com/wyhv5/p/9723061.html

selenium+python之元素定位方式介绍

网页自动化测试最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以今天来总结下Selenuim+Python最基本的几种定位方式及实例说明, 以百度搜索输入框为例,用谷歌浏览器具体说明各个定位方式的用法. 1.导入selenium包的webdriver方法 输入 from selenium import webdriver 2.从 time 模块中引入sleep函数,使用sleep函数可以让程序休眠 输入 from time import sleep

(六-2)八种定位方式

1.XML 可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 与HTML类似,但是他是为了传输和存储数据而非显示数据. 2.XPath XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言. XPth用来对 XML 文档中的元素和属性进行遍历,除了可以查找XML的节点,也可以查找HTML节点,因为这两个结构类似. 当然现在前端和后端更多的交互都是用 Json 来传输 现在已经不用XML 3.八种定

selenium对元素的八种定位方式

selenium提供了八种元素的定位方式: id id定位 name name属性定位 class_name 伪类名定位 tag_name 标签名定位 link_text 链接文本定位 partical_link_text 部分链接文本定位 xpath xpath路劲表达式定位 css_selector css选择器定位 八种定位方式的示例: from selenium import webdriverdriver=webdriver.Firefox() url="xxxx"drive

Apache HTTP Server 与 Tomcat 的三种连接方式介绍

Apache HTTP Server 与 Tomcat 的三种连接方式介绍 整合 Apache Http Server 和 Tomcat 可以提升对静态文件的处理性能.利用 Web 服务器来做负载均衡以及容错.无缝的升级应用程序.本文介绍了三种整合 Apache 和 Tomcat 的方式. 3 评论: 刘 冬 ([email protected]), 开发工程师, 2007 年 1 月 15 日 内容 首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接.事实上 Tomca

selenuim中18种定位方式

18种定位方式=8种单数形式+8种复数形式+2种底层方案 单数可以确定唯一,复数无法确定: 单数形式定位,返回的是一个元素,复数形式,返回的是一个列表,返回的是当前页面所有符合要求的元素,没有意义 一.8种单数形式: 1.通过id属性定位,driver.find_element_by_id('i1'),定位之后操作页面上的数据driver.find_element_by_id('i1').send_keys('123123') 2.通过class属性定位,并向该属性写内容 3.通过name属性定

css中三种定位详细介绍

在前台进行页面位置编辑时,时常碰到页面部分标签位置错乱,因此研究了一下通过css进行定位标签的方法. 定位方式:是指如何确定某个标签在页面中的位置. 1.固定定位:始终相对于浏览器窗口进行定位 1 <html> 2 <head> 3 <title>定位方式-固定定位</title> 4 <meta charset="utf-8"> 5 <style type="text/css"> 6 body