xpath:





from selenium import webdriver
b = webdriver.Firefox()
#路径读取方式一:
# b.get(r"C:\我的代码\selenium自动化测试\test.html")
#路径读取方式二:
# b.get("C:\\我的代码\\selenium自动化测试\\test.html")
#路径读取方式三:
b.get('file://C:\\我的代码\\selenium自动化测试\\test.html')
#打印选取根节点:
ele = b.find_element_by_xpath("/html")
print(ele)
#打印所有的文本:
print(ele.text)
#根据绝对路径选择元素:
ele1 = b.find_element_by_xpath("/html/body/form/input")
print(ele1)
#get_attribute查看type属性:
print(ele1.get_attribute("type"))
#同级定位输入框:
ele2 = b.find_element_by_xpath("/html/body/form/input[2]")
print(ele2.get_attribute("name"))
#遍历整个文档找到元素:
ele3 = b.find_element_by_xpath("//input")
print(ele3)
#遍历整个元素索引匹配:
ele4 = b.find_element_by_xpath("//input[2]")
print(ele4.get_attribute("name"))
#关闭页面:
# b.close()
#所有父元素为xxx的yyy元素:
ele5 = b.find_element_by_xpath("//form//input")
print(ele5.get_attribute("name"))
#获取id属性元素:
ele6 = b.find_element_by_xpath("//input[@id]")
print(ele6.id)
#找到所有的元素:
ele7 = b.find_element_by_xpath("//*")
print(ele7.tag_name)
#两个反斜杠是遍历整个文档、*是遍历整个元素、count元素统计标签个数
ele8 = b.find_element_by_xpath("//*[count(input)=2]")
print(ele8.tag_name)
#找到tag为某某的元素:
ele9 = b.find_element_by_xpath("//*[local-name()='input']")
print(ele9.tag_name)
#找到所有tag以某某开头的元素:
ele10 = b.find_element_by_xpath("//*[starts-with(local-name(),'i')]")
print(ele10.tag_name)
# 找到所有tag包含x的元素:
ele11 = b.find_element_by_xpath("//*[contains(local-name(),'i')]")
print(ele11.get_attribute("name"))
print(ele11.tag_name)
# 找到所有tag长度为3的元素:
# ele12 = b.find_element_by_xpath("//*[string-length(local-name())=5")
# print(ele12.get_attribute("name"))
# print(ele12.tag_name)
#多个路径查找:
ele13 = b.find_element_by_xpath("//title | //input")
print(ele13.tag_name)
#直接查找xpath:
ele14 = b.find_element_by_xpath("/html/body/p/input")
print(ele14.tag_name)
print(ele14.get_attribute("name"))
xpath:的更多相关文章
- json的xpath:简易数据查询
class JsonQuery(object): def __init__(self, data): super(JsonQuery, self).__init__() self.data = dat ...
- 爬虫系列3:Requests+Xpath 爬取租房网站信息并保存本地
数据保存本地 [抓取]:参考前文 爬虫系列1:https://www.cnblogs.com/yizhiamumu/p/9451093.html [分页]:参考前文 爬虫系列2:https://www ...
- 爬虫系列1:Requests+Xpath 爬取豆瓣电影TOP
爬虫1:Requests+Xpath 爬取豆瓣电影TOP [抓取]:参考前文 爬虫系列1:https://www.cnblogs.com/yizhiamumu/p/9451093.html [分页]: ...
- 爬虫解析:XPath总结
1.加载 XML 文档 所有现代浏览器都支持使用 XMLHttpRequest 来加载 XML 文档的方法. 针对大多数现代浏览器的代码: var xmlhttp=new XMLHttpRequest ...
- (三)XML基础(3):Xpath
五.XPath:快速定位到节点 5.1 简介 5.2 语法 5.3 案例 XPath对有命名空间的xml文件和没有命名空间的xml定位节点的方法是不一样的,所以再对不同的xml需要进行不同的处理. 使 ...
- Web自动化测试:xpath & CSS Selector定位
Xpath 和 CSS Selector简介 CSS Selector CSS Selector和Xpath都可以用来表示XML文档中的位置.CSS (Cascading Style Sheets)是 ...
- 网页解析:Xpath 与 BeautifulSoup
1. Xpath 1.1 Xpath 简介 1.2 Xpath 使用案例 2. BeautifulSoup 2.1 BeautifulSoup 简介 2.2 BeautifulSoup 使用案例 1) ...
- xpath轴的正确使用姿势
网上看了许多关于轴的介绍,只介绍了语法,而没有明说具体实际中该怎么使用,百思不得其解. 背景--python中使用xpath: ----------------------------------- ...
- Selenium脚本编写环境的搭建/XPath
编写环境主要分为三个部分: JUnit : java单元测试框架: Firebug: firefox 附加组件,Firebug是firefox下的一个扩展,能够调试所有网站语言,如Html,Css等, ...
随机推荐
- ECMAScript 5 特性
ECMAScript 5 也称为 ES5 和 ECMAScript 2009. ECMAScript 5 特性 这些是 2009 年发布的新特性: "use strict" 指令 ...
- Hive数据类型和DDL操作
hive命令 在Linux下的命令行中直接输入如下命令,可以查看帮助信息: # hive -help 常用的如-e.-f参数. 使用-e参数,可以直接在命令行传递SQL语句进行hive表数据的查询: ...
- HTML入门(列表、表单、常用表单控件、浮动框架、iframe、 摘要与细节、度量标签)
一.列表 1.作用:默认显示方式为从上到下的显示数据 2.列表的组成 列表类型和列表项 3.列表的分类:有序列表 无序列表 自定义列表 无序列表语法为ul>li, 语法:ul代表列表,l ...
- C language bit byte and word
bit:The smallest storage unit of a computer byte:Common computer storage unit word:Computer natural ...
- Redis速记
参考: 集群 https://blog.csdn.net/xiaoxiaoyusheng2012/article/details/82051744 主从 https://blog.csdn.net/u ...
- SQL Server如何找出一个表包含的页信息(Page)
在SQL Server中,如何找到一张表或某个索引拥有那些页面(page)呢? 有时候,我们在分析和研究(例如,死锁分析)的时候还真有这样的需求,那么如何做呢? SQL Server 2012提供了一 ...
- sqlldr bat遇到的问题
在编写sqlldr相关的bat脚本时,遇到执行bat后一直循环执行的问题,网上也有遇到相同问题的朋友: 链接:https://zhidao.baidu.com/question/17039912443 ...
- WASM 成为 HTML、CSS 与 JS 之后的第 4 门 Web 语言
大家都知道,万维网联盟 W3C 认证的 Web 语言有 HTML.CSS 与 JavaScript,而近日联盟正式宣布 WebAssembly 核心规范(WebAssembly Core Specif ...
- 【Git教程】如何清除git仓库的所有提交记录,成为一个新的干净仓库
一.引言 马三也算Github的忠实用户了,经常会把一些练手的项目传到Github上面进行备份.其中有一个名为ColaFramework的Unity框架项目,马三开发了一年多了,期间提交代码的时候在L ...
- Java描述设计模式(03):工厂方法模式
本文源码:GitHub·点这里 || GitEE·点这里 一.工厂方法模式 1.生活场景 系统常见的数据导出功能:数据导出PDF.WORD等常见格式. 2.工厂方法模式 是类的创建模式,又叫做虚拟构造 ...