selenium webdriver 表格的定位方法

html 数据准备

<html>
<body> <div id="div1">
<input name="divl1input"></input>
<a href="http://www.sogou.com/">搜狗搜索</a>
<img alt="div1-img1 "src="http://www.sogou.com/images/logo/new/sogou.png"
href = "http://www.sogou.com">搜狗图片</img>
<input type ="button" value="查询"></input>
</div>
<br></br>
<div name="div2">
<input name="div2input"></input>
<a href = "http://www.baidu.com">百度搜索</a>
<img alt="div2-img2" src="http://www.baidu.com/img/bdlogo.png"
href= "http://www.baidu.com">百度图片</img>
<input type="button" value="查询"></input>
</div> <br></br>
<br></br>
<br></br>
<br></br>
<a href="http://www.sogou.com"> 搜狗搜索</a><br></br>
<a href="http://www.baidu.com"> 百度搜索</a> <br></br>
<br></br>
<br></br>
<br></br> <table width="400" border="1" id= "table">
<tr>
<td align="left" >消费项目。。。。</td>
<td align="right"> one month </td>
<td align="right">two month</td>
</tr> <tr>
<td align="left" >衣服</td>
<td align="right"> 1000 元 </td>
<td align="right">2000 元</td>
</tr> <tr>
<td align="left" >化妆品</td>
<td align="right"> 10 元 </td>
<td align="right">20 元</td>
</tr> <tr>
<td align="left" >零食</td>
<td align="right"> 120 元 </td>
<td align="right">100 元 </td>
</tr> <tr>
<td align="left" >总计</td>
<td align="right">88880 元 </td>
<td align="right">10000 元</td>
</tr> </table>
</body>
</html>

java代码 :

package page_elements_positioning;

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver; public class Table_Positiing { public static void main(String[] args) {
String url ="file:///C:/Users/ty/Desktop/selenium_test.html";
System.setProperty("webdriver.firefox.bin", "D:\\softerWare\\firefox\\firefox\\firefox.exe");
WebDriver driver ;
driver = new FirefoxDriver();
driver.get(url); WebElement table =driver.findElement(By.id("table"));
List<WebElement> rows = table.findElements(By.tagName("tr"));
for (WebElement row : rows ){ List<WebElement> cols =row.findElements(By.tagName("td"));
for(WebElement col :cols ){
System.out.print(col.getText()+"\t");
}
System.out.println(""); } System.out.println("-----------------------------------------------------------------------"); //注意" //*[@id='table']/tbody/td[1]/tr[1]"---- /tbody 是必须要加的
WebElement element =driver.findElement(By.xpath("//*[@id='table']/tbody/tr[2]/td[3]"));
//---去掉 * 号 !
WebElement element1 =driver.findElement(By.xpath("//*[@id='table']/tbody/tr[3]/td[3]"));
System.out.println("//*[@id='table']/tbody/tr[2]/td[3]----"+element.getText());
System.out.println("//[@id='table']/tbody/tr[3]/td[3]---"+element1.getText()); } }

测试结果:

消费项目。。。。 one month two month 
衣服 1000 元 2000 元 
化妆品 10 元 20 元 
零食 120 元 100 元 
总计 88880 元 10000 元 
-----------------------------------------------------------------------
//*[@id='table']/tbody/tr[2]/td[3] -----2000 元
//[@id='table']/tbody/tr[3]/td[3]-------20 元

selenium webdriver 表格的定位方法练习的更多相关文章

  1. selenium webdriver XPath的定位方法练习 !

    html  代码: <html> <body> <div id="div1"> <input name="divl1input& ...

  2. selenium之表格的定位

    浏览器网页常常会包含各类表格,自动化测试工程师可能会经常操作表格中的行,列以及某些特定的单元格,因此熟练掌握表格的定位方法是自动化测试实施过程中必要的技能. 被测试网页的HTML代码 <!DOC ...

  3. selenium自动化之元素定位方法

    在使用selenium webdriver进行元素定位时,有8种基本元素定位方法(注意:并非只有8种,总共来说,有16种). 分别介绍如下: 1.name定位 (注意:必须确保name属性值在当前ht ...

  4. Selenium WebDriver 8大定位方式

    Selenium WebDriver 8大定位方式: driver.find_element_by_id() driver.find_element_by_name() driver.find_ele ...

  5. Selenium 八种元素定位方法

    前言: 我们在做WEB自动化时,最根本的就是操作页面上的元素,首先我们要能找到这些元素,然后才能操作这些元素.工具或代码无法像我们测试人员一样用肉眼来分辨页面上的元素.那么我们怎么来定位他们呢? 在学 ...

  6. selenium webdriver三种等待方法

    webdriver三种等待方法 1.使用WebDriverWait from selenium import webdriverfrom selenium.webdriver.common.by im ...

  7. [selenium webdriver Java]元素定位——findElement/findElements

    策略 语法 语法 描述 By id driver.findElement(By.id()) driver.findElements(By.id()) 通过id属性定位元素 By name driver ...

  8. selenium webdriver python 元素定位

    总结   定位查找时,返回查找到的第一个match的元素.如果找不到,则 raise NoSuchElementException   单个元素定位: find_element_by_idfind_e ...

  9. 【转】selenium webdriver三种等待方法

    原文:https://www.cnblogs.com/lgh344902118/p/6015593.html webdriver三种等待方法 1.使用WebDriverWait from seleni ...

随机推荐

  1. 在javascript中的跨域解决

    跨域产生的原因 跨域是由浏览器的同源策略引起的,即不同源(协议,域名,端口中其中有一个不同)的js是不能读取对方的资源的.当要网站中的js要请求其他网站的数据时就会产生跨域问题,就像下面这样,浏览器会 ...

  2. python学习之路-基本数据类型1 变量的概念、数字、字符串

    1 什么是数据类型? 每种编程语言都有自己的数据类型,用于标识计算机可以认识的数据,Python中主要的数据类型为字符串,整数,浮点数,列表,元祖,字典,集合七种主要的数据类型,其中以列表,字典为最主 ...

  3. 20155325 2016-2017-2 《Java程序设计》第2周学习总结

    教材学习内容总结 上节课讲了些思维方法:git,vim的使用技巧,推荐了picpick截图软件. 第三章书本上涵盖了基本语法内容 由于在语法方面java和c有相似之处,所以我重点关注不同之处和易忽略之 ...

  4. 【整理总结】代码沉淀 - Caliburn.Micro - MV*模式短小精悍的框架

    Caliburn.Micro - Xaml made easy. web: https://github.com/Caliburn-Micro/Caliburn.Microdocument: http ...

  5. [agc002D]Stamp Rally-[并查集+整体二分]

    Description 题目大意:给你一个n个点m个条边构成的简单无向连通图,有Q组询问,每次询问从两个点x,y走出两条路径,使这两条路径覆盖z个点,求得一种方案使得路径上经过的边的最大编号最小.n, ...

  6. DIRECT3D状态详解

    Microsoft® Direct3D®设备是一个状态机.应用程序设置光照.渲染和变换模块的状态,然后在渲染时传递数据给它们. 本节描述图形流水线用到的所有不同类型的状态. 渲染状态 取样器状态 纹理 ...

  7. HBase核心功能模块--读书笔记

    客户端Client 客户端 Client 是整个 HBase 系统的入口.使用者直接通过客户端操作 HBase.客户端 使用 HBase 的 RPC 机制与 HMaster 和 RegionServe ...

  8. Block 在 ARC 下的拷贝

    前言 现在有一种说法,是开启arc选项时,已经没有栈上的block了,所以所有的block都不需要copy来拷贝到堆上了.那么这个说法正确与否呢? 结论是这个说法必须是错误的,首先的一点就是arc只是 ...

  9. jQuery Validate (登录页面相关验证)

    $(function() { var submit = false; var superHtml = []; /** * 匹配企业帐号,以字母开头,长度在6-20之间,只能包含字符.数字和下划线. * ...

  10. Django视图层详细介绍

    1 视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. ...