Xpath使用方法

由于最新版火狐不在支持FireBug等开发工具,可以通过https://ftp.mozilla.org/pub/firefox/releases/下载49版本以下的火狐就可以增加Firebug等扩展了。

什么是Xpath?

XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素。

工具

Xpath的练习建议大家安装火狐浏览器后,下载插件,FireBug。

Xpath使用方法

注:默认死格式 先写 //* 代表定位页面下所有元素

1、Xpath支持ID、Class、Name定位功能

  1)、通过ID定位

    //*[@id=‘kw‘]

  2)、通过Class定位

    //*[@class=‘class_name‘]

  3)、通过Name定位

    //*[@name=‘name‘]

2、如果标签没有ID、Class、Name三总属性,Xpath还支持属性定位功能

    @ 代表以属性定位,后面可以接标签中任意属性

      //*[@other=‘attribute‘]

3、当标签的属性重复时,Xpath提供了通过标签来进行过滤

      将 * 换位任意标签名,则可根据标签进行筛选

      //input[@placeholder=‘用户名‘]

4、当标签页重复时,Xpath提供了层级过滤

例如:找不到儿子,那么就先找他的爸爸,是在不行可以在找他的爷爷

  1)、支持通过 / 进行层级递进,找到符合层级关系的标签

    //form/div/input[@placeholder="用户名"]

  2)、当层级都重复时,可以通过单个层级的属性进行定位

    //form/div[@class=‘login-user‘]/input

5、一个元素它的兄弟元素跟它的标签一样,这时候无法通过层级定位到。因为都是一个父亲生的,多胞胎兄弟。Xpath提供了索引过滤

    通过索引,在List中定位属性,与python的索引有些差别,Xpath从1开始

      //select[@name=‘city‘][1]/option[1]

6、上面集中如果都用上了之后还重复的话,我们就可以使用Xpath提供的终极神器,逻辑运算定位。and 或 or   

    1)、通过and来缩小过滤的范围,只有条件都符合时才能定位到

      //select[@name=‘city‘ and @size=‘4‘ and @multiple="multiple"]

    2)、or就相反了,只要这些筛选中,其中一个出现那么久匹配到了

      //select[@name=‘city‘ or @size=‘4‘]

我通常把Xpath看成是屠龙刀。武林至尊,宝刀Xpath,Css不出,谁与争锋?

原文地址:https://www.cnblogs.com/feng0815/p/8280581.html

时间: 2024-10-14 22:32:26

Xpath使用方法的相关文章

web自动化测试-D3-学习笔记之一(Selenium彩蛋篇-Xpath使用方法)

由于最新版火狐不在支持FireBug等开发工具,可以通过https://ftp.mozilla.org/pub/firefox/releases/下载49版本以下的火狐就可以增加Firebug等扩展了. 什么是Xpath? XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. 工具 Xpath的练习建议大家安装火狐浏览器后,下载插件,FireBug. Xpath使用方法 注:默认死格式 先写 //* 代表定位页面下所有元素 1.Xpath支持ID.Class.Name

元素定位-XPATH定位方法总结

1.Xpath定位方法探讨 xpath是比较常用的一种定位元素的方式,因为它很方便,缺点是,消耗系统性能.如果Xpath使用的比较好,几乎可以定位到任何页面元素,而且受页面变化影响较小. 1.1.什么是XPATH: XPath (XML Path Language) 是一门在 HTML文档中查找信息的语言,可用来在 HTML文档中对元素和属性进行遍历. 详细使用方法可见 W3School官方文档:http://www.w3school.com.cn/xpath/index.asp 1.2.XPA

xpath定位方法详解

1.xpath较复杂的定位方法: 现在要引用id为“J_password”的input元素,可以像下面这样写: WebElement password = driver.findElement(By.xpath("//*[@id='J_login_form']/dl/dt/input[@id='J_password']")); 其中//*[@id=’ J_login_form’]这一段是指在根元素下查找任意id为J_login_form的元素,此时相当于引用到了form元素.后面的路径

xpath定位方法小结(转载)

1.实例化一个浏览器WebDriver driver = new FirefoxDriver(); 2.driver.get() get传参数到浏览器中 3.常用定位方法webelement XX=driver.findElement(by.XX) 3.1 by.id("value");3.2 by.ame("value");3.3 by.xpath("/html/body/XX/div[1]/a") 表示第一个div值为a的值      by.

Chrome浏览器获取XPATH的方法----通过开发者工具获取

还在为xpath的正确性而犯愁吗?难道必须得装一个Firefox浏览器,安装一个插件? No!!!!!!! 有了chrome浏览器,照样能获取xpath,而且保证正确. 具体的使用方法?请往下看. chrome有自己的开发者工具,可以用这儿来直接获取xpath,都不用担心正确性了. 具体使用步骤如下: 1.在chrome浏览器的右上角有个选择菜单,也就是这个,点一下: 2.在列表最后面有个"更多工具",点击一下,就可以看到开发者工具了. 3.打开开发者工具后,点击开发者工具中第一行的第

XPATH定位方法总结

XPath定位详解 一般选择xpath定位是因为无论用id.name.class等,都不能唯一定位的时候. 1.2.1 绝对路径法 (1)就是从HTML文件最外面一层tag一直找到所要的元素的tag为止:(2)如果某一层有多个同名的tag,就用数组标注的方式:(3)以单斜杠.双斜杠开头都可以. driver.find_element_by_xpath('/html/body/div/div[2]/form/div/div[2]/div/input[3]').click() driver.find

Selenium - Xpath 使用方法

由于最新版火狐不在支持FireBug等开发工具,可以通过https://ftp.mozilla.org/pub/firefox/releases/下载49版本以下的火狐就可以增加Firebug等扩展了. 什么是Xpath? XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. 工具 Xpath可以下载火狐浏览器插件FireBug 用法: 1. /(绝对路径,从根节点选取) 2. //(相对路径,所有子代节点,不用考虑是否直接子节点) 3. @ 选取属性 4. ".&q

Selenium学习之==>Xpath使用方法

一.什么是Xpath XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. 工具 Xpath的练习建议大家安装火狐浏览器后,下载插件,FireBug.由于最新版火狐不再支持FireBug等开发工具,可以通过https://ftp.mozilla.org/pub/firefox/releases/下载49版本以下的火狐就可以增加Firebug等扩展了. 二.Xpath的使用方法 注:默认死格式 先写 //* 代表定位页面下所有元素 1.Xpath通过标签的属性定位 1

selenium爬取新闻做成词云(以及selenium的xpath查找方法)

一开始是想用qq空间说说做词云的,然而qq空间需要用cookies以及其他加密的东西,退而求其次搞搞新闻吧. 直接上代码了 # -*-coding:utf-8 -*- from selenium import webdriver import wordcloud #词云制作器 import jieba#强大的中文分词库 from scipy.misc import imread#读取图片 import time url='https://news.nuist.edu.cn/main.htm' n