搞了一下午。。。

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. Python3基础 isinstance 判断一个变量是否为指定的类型

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  2. 【转载】详解CreateProcess调用内核创建进程的过程

    原文:详解CreateProcess调用内核创建进程的过程 昨天同学接到了腾讯的电面,有一题问到了CreateProcess创建进程的具体实现过程,他答得不怎么好吧应该是, 为了以防万一,也为了深入学 ...

  3. [HIHO1107]Shortest Proper Prefix(trie)

    题目链接:http://hihocoder.com/problemset/problem/1107 题意:求有多少非依赖前缀,使得前缀下标识的字符串不超过5个. 这里非依赖的意思是,假如前缀a,b,a ...

  4. mysql局域网连接

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION; //从任何主机连接到mysql服务 ...

  5. hdu4389 X mod f(x)

    链接 这个题因为总和加起来是比较小的9*9 = 81  这样可以保留前面枚举的数对所有的可能出现的和的余数,然后依次向下找. #include <iostream> #include< ...

  6. SpringMVC报错The request sent by the client was syntactically incorrect ()

    springmvc数据绑定出的错 在数据绑定的时候一定要主意Controller方法中的参数名和jsp页面里的参数名字是否一致或者按照绑定的规范来写, 如果不一致,可能回报如下错误: The requ ...

  7. 6个html5页面适配iphone6的技巧

    iphone6及iphone6plus已经出来一段时间了.很多移动端网站,以前写死body为320px的,现在估计也忙着做适配了. 大屏幕手机其实一直有,只是以前大家没怎么重视,移动端的H5页面大部分 ...

  8. Maven 工程错误Failure to transfer org.codehaus.plexus:plexus-io:pom:1.0,Failure to transfer org.codehaus.plexus:plexus-archiver:jar:2.0.1

    原本好好的Maven工程却出现了莫名的错误 Failure to transfer org.codehaus.plexus:plexus-archiver:jar:2.0.1 from http:// ...

  9. 【matlab】查看程序运行时间

    程序开头 profile on 结尾 profile viewer 然后就会很贴心滴出现下面的界面,可以从中展开,查看每段运行的时间

  10. Python之路 day2 字符串函数

    #Author:ersa name = "ersa" #首字母大写capitalize() print(name.capitalize()) name = "my nam ...