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 By_tar_name { 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);
driver.findElement(By.tagName("a")); WebElement link=driver.findElement(By.tagName("a"));
List<WebElement> links =driver.findElements(By.tagName("a")); //link.click();
System.out.println(links.get(0)+"--------"+links.get(1));
links =driver.findElements(By.xpath("//input[2]"));
System.out.println("2----------"+links.size()); // 1..绝对路径 ---查找 ;
links.addAll(driver.findElements(By.xpath("/html/bodydiv/input[@value='查询']")));
System.out.println(links.size());
//2.--使用相对路径 ;
driver.findElement(By.xpath("//input[2]")).click();
//3.. 使用页面的属性值 来定位原素实例;
WebElement img=driver.findElement(By.xpath("//img[@alt='div1-img1']"));
//定位第一张图片:
//mg[@href='www.sogou.com']
//定位第二个div中的input的值;
//div[@name='div2']/input[@name='div2input'] ;
//定义第一个div中的第一个链接
//div[@id='div1']/a[@herf='www.sogou.com']
//定位页面的查询按钮;
//input[@type='button'] }
}

selenium webdriver XPath的定位方法练习 !的更多相关文章

  1. selenium webdriver 表格的定位方法练习

    selenium webdriver 表格的定位方法 html 数据准备 <html> <body> <div id="div1"> <i ...

  2. selenium中Xpath轴定位方法

    1.Xpath轴:轴可定义相对于当前节点的节点集. 使用语法:轴名称::节点名称 例://input[@data-value="SXRYNAME"]/parent::td/foll ...

  3. Selenium Webdriver——Xpath轴定位(preceding)

     1.preceding-sibling 选取当前节点之前的所有同级节点 text=出发之前的同级节点: 2.preceding 选取当前节点开始标签之前的所有节点 text=出发节点标签之前的所有i ...

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

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

  5. Selenium WebDriver 8大定位方式

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

  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. C++ —— 非类中使用const定义常量的初始化,以及#define和typedef的区别

    总结一下在非类中使用const关键字定义常量时的初始化问题,亲测VS2015.顺便记录#define宏和typedef的区别. 1 首先对const声明的常量的初始化做简单小结: , w2 = , w ...

  2. 20155308 2016-2017-2《Java程序设计》课堂实践项目

    20155308 2016-2017-2<Java程序设计>课堂实践项目 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅 ...

  3. 20145209 实验三 《敏捷开发与XP实践》 实验报告

    20145209 实验三 <敏捷开发与XP实践> 实验报告 实验内容 XP基础. XP核心实践. 相关工具. 实验步骤 敏捷开发与XP 1.敏捷开发 敏捷开发(Agile Developm ...

  4. Dlib库中实现正脸人脸检测的测试代码

    Dlib库中提供了正脸人脸检测的接口,这里参考dlib/examples/face_detection_ex.cpp中的代码,通过调用Dlib中的接口,实现正脸人脸检测的测试代码,测试代码如下: #i ...

  5. jquery.validate使用 - 5

    一些常用的验证脚本 不会写js了,只能从网上找一些常用的验证脚本. // 手机号码验证jQuery.validator.addMethod("mobile", function(v ...

  6. cocos2dx2.0 帧动画的创建和播放过程 深入分析

    一.帧动画的创建过程帧动画的实现有四个不可或缺的类,如下:1.CCSpriteFrame:精灵帧信息.存储帧动画的每一帧的纹理基本信息. class CC_DLL CCSpriteFrame : pu ...

  7. PHP导出Excel,设置表格样式,填充颜色等较为复杂样式

    // 注:只是在此做下记录,有兴趣的可以参考,不做实际教程文档 <?php //引入Li类对数据进行操作include_once('./Li.php');//引入Excel类库对对数据进行操作i ...

  8. Java 验证码识别库 Tess4j 学习

    Java 验证码识别库 Tess4j 学习 [在用java的Jsoup做爬虫爬取数据时遇到了验证码识别的问题(基于maven),找了网上挺多的资料,发现Tess4j可以自动识别验证码,在这里简单记录下 ...

  9. 基础SQL语句学习

    (注:sql对大小写不敏感,附:命令行操作:cd 目录名 可进入文件,cd .. 可返回上级木目录) 下载MySQL,并配置环境变量: 使用命令行操作数据库(也可下载navicat操作),输入mysq ...

  10. Java 分割、合并byte数组

    场景:上传文件较大,把存放文件内容byte数组拆分成小的.下载的时候按照顺序合并. 起初觉得挺麻烦的,写完觉得挺简单. 切割: /** * 拆分byte数组 * * @param bytes * 要拆 ...