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. Framwork框架-网络客户端的使用

    1.引入头文件 #include "Comm.h" 2.派生自框架基类CProtocolCpMgr class NetManager : public CProtocolCpMgr ...

  2. android studio 插件开发(自动生成框架代码插件)

    android studio 插件开发 起因 去年公司开始上新项目,正好android在架构这方面的讨论也开始多了起来,于是mvp架构模型就进入我们技术选择方案里面,mvp有很多好处,但是有一个非常麻 ...

  3. 有限差分法解矩形波导内场值、截止频率 MATLAB

    利用有限差分法,解矩形波导内场解和截止频率: 这里以解TM11模为例,利用双重迭代法,每4次场值,更新一次Kc: %% % 求矩形波导中TM11模 截面内场分布.截止频率kc和特性阻抗Zc % // ...

  4. 20155230 实验二《Java面向对象程序设计》实验报告

    20155230 实验二<Java面向对象程序设计>实验报告 一.单元测试 三种代码 知道了伪代码.产品代码.测试代码的关系和用途,并根据老师的例子,按测试代码调试了产品代码. 值得注意的 ...

  5. 学号 20155311 2016-2017-2 《Java程序设计》第1周学习总结

    学号 2016-2017-2 <Java程序设计>第1周学习总结 教材学习内容总结 JAVA三大平台**:Java SE.Java EE .Java ME. Java SE四个组成部分:J ...

  6. # C语言假期学习笔记——6

    C语言假期学习笔记--6 数组 主要学习了一位数组和二维数组. 数组是一组具有相同类型的变量的集合.C语言程序通过元素的下标来访问数组中的元素.(下标从0开始) 一位数组 类型 数组名[元素个数] 二 ...

  7. python 多线程笔记(2)-- 锁

    锁是什么?什么场合使用锁? 锁是一种机制,用于保护那些会引起冲突的资源. 比如上厕所,进去之后第一件事干嘛?把厕所门反锁!表示什么呢?表示这个厕所正在使用中! 至于在厕所里面干大事.干小事.还是打飞机 ...

  8. 【转载】DXUT11框架浅析(4)--调试相关

    原文:DXUT11框架浅析(4)--调试相关 DXUT11框架浅析(4)--调试相关 1. D3D8/9和D3D10/11的调试区别 只要安装了DXSDK,有个调试工具DirectX ControlP ...

  9. KVM虚拟化的安装

    kvm介绍 一.KVM的历史 Kvm在2007年2月正式合并Linux2.6.20核心中,成为内核源代码的一部分.2008年9月4日,RedHat公司收购了Qumranet,开始在RHEL中用kvm取 ...

  10. Elasticsearch5.x版本中对Text类型进行聚合时提示illegal_argument_exception

    Having this field in my mapping "answer": { "type": "text", "fiel ...