搞了一下午。。。

1.     Xpath往往以“//”开头,属性都是采用@表示,例如//div[@id='_navigation']/div

2.     Firefox有个插件叫做xpather,在页面上点击右键选中“show in xpather”,可以很快的给出对应的xpath。它给出的格式是这样的:/html/body/header/nav/ul[1]/li[5]/a/span

3.     根据是否使用属性,Xpath的语法格式有两种:

不使用属性:按照html的层次,如/html/body/header/nav/ul[1]/li[5]/a/span

使用属性:如//input[@class=’input’],直接定位。

Selenium还支持多个属性来定位,如//input[@class=’input’ and @type=’text’]。

4.     /div[2]表示第二个,/div[last()]表示最后一个,但是没有/div[first()]的语法,选择第一个用/div[1]

5.     选择一个以上的元素,使用|,如//div|//a,表示选择所有的div标签和a标签

6.     选择未知元素,使用“*”来选择满足条件的所有元素,如/*

7.     //input[@class=’input’]选择元素中的属性

//input[@class]选择有属性名为class的input标签

//input[@]选择有属性的input标签

点击页面上的File菜单, 用selenium怎么抓多层DIV里的路径:

代码大概形式   div嵌套了10层
<div id="isc_2M">
      ...(中间省略8个div)
         <div id="ISC_2O">
             <table>
               <tbody>
                    <tr>
<td>
                          <table>
                             <tbody>
                                <tr>
                                   <td>File
                                   </td>
                                </tr>
                             </tbody>
                          </table>
                       </td>
                    </tr>
               </tbody>
             <table>
         </div>
      ...
</div>

需要点击<td>File</td>这个

这个:
1 selenium.click("//td[text()='File']");
2 selenium.click("//td[contains(text(),‘File’)]");
3 selenium.click("//div/table/tbody/tr[1]/td[1]/table/tbody/tr[1]/td[1]");

4 selenium.click("//div[@id='ISC_2O']/table//table//tr[1]/td");

相关博客

http://blog.sina.com.cn/s/blog_505bf9af0101bdtq.html
http://www.51testing.com/html/91/79191-829759.html
http://www.cnblogs.com/qingchunjun/p/4208159.html(重要博客)

selenium By.xpath 用法的更多相关文章

  1. python爬虫---selenium库的用法

    python爬虫---selenium库的用法 selenium是一个自动化测试工具,支持Firefox,Chrome等众多浏览器 在爬虫中的应用主要是用来解决JS渲染的问题. 1.使用前需要安装这个 ...

  2. 用XPath精确定位节点元素&selenium使用Xpath定位之完整篇

    在利用XSL进行转换的过程中,匹配的概念非常重要.在模板声明语句 xsl:template match = ""和模板应用语句xsl:apply-templates select ...

  3. Python之Selenium的爬虫用法

    Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Selenium 的竞争对手).也就是说 Sel ...

  4. 模拟登陆百度以及Selenium 的基本用法

    模拟登陆百度,需要依赖于selenium 模块,调用浏览器,执行python命令 先来说一下这个selenium模块啦...... 本文参考内容来自 Selenium官网 SeleniumPython ...

  5. Selenium WebDriver高级用法

    Selenium GitHub地址 选择合适的WebDrvier WebDriver是一个接口,它有几种实现,分别是HtmlUnitDrvier.FirefoxDriver.InternetExplo ...

  6. selenium使用Xpath+CSS+JavaScript+jQuery的定位方法(治疗selenium各种定位不到,点击不了的并发症)

    跟你说,你总是靠那个firebug,chrome的F12啥的右击复制xpath绝对总有一天踩着地雷炸的你死活定位不到,这个时候就需要自己学会动手写xpath,人脑总比电脑聪明,开始把xpath语法给我 ...

  7. selenium之xpath定位和input文本

    selenium之xpath定位和input文本 xpath简单定位: 打开浏览器的F12 在自己需要定位的元素的那里右键 选择copy->xpath selenium获取input下的文本: ...

  8. xPath 用法总结整理

    xPath 用法总结整理   一.xpath介绍 XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. XPath 使用路径表达式在 XML ...

  9. selenium中Xpath和CSS Selector的使用方法

    一.selenium中Xpath的使用方法 1. 什么是xpath? Xpath是XML的路径语言,通俗一点讲就是通过元素的路径来查找这个标签元素 2. 练习Xpath的工具 火狐浏览器,下载插件Fi ...

随机推荐

  1. [Python爬虫]cnblogs博客备份工具(可扩展成并行)

    并发爬虫小练习. 直接粘贴到本地,命名为.py文件即可运行,运行时的参数为你想要爬取的用户.默认是本博客. 输出是以用户名命名的目录,目录内便是博客内容. 仅供学习python的多线程编程方法,后续会 ...

  2. 19.fastDFS集群理解+搭建笔记

    软件架构理解 1FastDFS介绍 1.1什么是FastDFS FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并 ...

  3. 06-scanf函数

    本文目录 变量的内存分析 scanf函数 回到顶部 一. 变量的内存分析 1. 字节和地址 为了更好地理解变量在内存中的存储细节,先来认识一下内存中的“字节”和“地址”. 1> 内存以“字节为单 ...

  4. GPRS模块上电后复位会导致开机函数不正常的问题原因及解决方法

    之前使用的开机函数 void Gprs_modem_start_up(){GPIO_SetBits(GPIOB,GPIO_Pin_0); //RESET 脚要置成高电平,防止重启do{ GPIO_Se ...

  5. Spring—Quartz定时调度CronTrigger时间配置格式说明与实例

    1 .CronTrigger时间格式配置说明 CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 1 ...

  6. shader函数

    Intrinsic Functions (DirectX HLSL) The following table lists the intrinsic functions available in HL ...

  7. 浅谈Bootstrap——导航条起步

    不多说,直接上代码. <div class="navbar navbar-default"> <div class="container"&g ...

  8. android定义启动唯一apk

    <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="ht ...

  9. Android驱动之JNI编写

    要想用java去调用C函数接口那么就需要使用JNI(Java Native Interface,Java 本地调用)去访问本地的动态链接库. 关于NDK的安装,现在有linux环境下的版本,也有win ...

  10. JavaScript类型判断

    几种方法:typeof,instanceof,Object.prototype.toString,constructor,duck type ES6引入了一种新的原始数据类型Symbol,表示独一无二 ...