selenium java 读取xml (数据驱动)
selenium 数据驱动 (xml解析)
getElementByTagName()可以通过标签名获取某个标签。它所获取的对象是以数组形式存放。如“caption”和“item”标签在info.xml 文件中有多个,那么可以指定数组的下标在获取某个标签。
root.getElementsByTagName('caption') 获得的是标签为caption 一组标签;getElementsByTagName("p")[3]
item(0).getNodeName() 表示一组标签中的第一个。
item(2).getNodeName() 表示一组标签中的第三个。
getAttributes()方法可以获得元素的属性,getNamedItem()指定属性的名字。
getTextContent()方法用于获取标签对之前的数据。
HTML代码
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<maxid>4</maxid>
<login username="pytest" passwd="123456">
<caption>Java</caption>
<item id="4">
<caption>test</caption>
</item>
</login>
<item id="2">
<caption>Zope</caption>
</item>
</catalog>
java代码一
1 package selenium.test;
2 import java.io.File;
3 import javax.xml.parsers.DocumentBuilder;
4 import javax.xml.parsers.DocumentBuilderFactory;
5 import org.w3c.dom.Document;
6 import org.w3c.dom.NodeList;
7
8 public class readXML {
9 public static void main(String[] args) {
10 try {
11 File xmlFile = new File("C:\\Users\\happy\\Desktop\\Domo.xml");
12 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
13 DocumentBuilder builder = factory.newDocumentBuilder();
14 Document doc = builder.parse(xmlFile);
15 NodeList ma = doc.getElementsByTagName("maxid");
16 NodeList ca = doc.getElementsByTagName("caption");
17 NodeList it = doc.getElementsByTagName("item");
18 System.out.println(ma.item(0).getNodeName());
19 System.out.println(ca.item(0).getNodeName());
20 System.out.println(it.item(0).getNodeName());
21 } catch (Exception e) {
22 e.printStackTrace();
23 }
24 }
25 }
java代码二
1 package selenium.test;
2
3 import java.io.File;
4 import javax.xml.parsers.DocumentBuilder;
5 import javax.xml.parsers.DocumentBuilderFactory;
6
7 import org.python.constantine.platform.darwin.Sysconf;
8 import org.w3c.dom.Document;
9 import org.w3c.dom.NodeList;
10
11 public class readXML {
12 public static void main(String[] args) {
13 try {
14 File xmlFile = new File("C:\\Users\\happy\\Desktop\\Domo.xml");
15 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
16 DocumentBuilder builder = factory.newDocumentBuilder();
17 Document doc = builder.parse(xmlFile);
18 // 获取指定标签中元素/属性的值
19 NodeList login = doc.getElementsByTagName("login");
20 System.out.println(login.item(0).getAttributes().getNamedItem("username"));
21 System.out.println(login.item(0).getAttributes().getNamedItem("passwd"));
22 NodeList ca = doc.getElementsByTagName("caption");
23 // 获取标签中的文本内容
24 for (int i = 0; i < ca.getLength(); i++) {
25 System.out.println(ca.item(i).getTextContent());
26 //循环获取caption标签中的文本内容
27 }
28
29 } catch (Exception e) {
30 e.printStackTrace();
31 }
32 }
33
34 }
selenium java 读取xml (数据驱动)的更多相关文章
- Java读取xml数据
xml中的代码 <?xml version="1.0" encoding="UTF-8"?> <books id="aaa" ...
- java 读取XML文件作为配置文件
首先,贴上自己的实例: XML文件:NewFile.xml(该文件与src目录同级) <?xml version="1.0" encoding="UTF-8&quo ...
- java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .
背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...
- java读取XML文件的四种方式
java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...
- JAVA读取XML文件并解析获取元素、属性值、子元素信息
JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取 InputStream DocumentBuilderFactory Element Node 前言 最 ...
- java读取 xml文件
java读取xml文件的四种方法 转自https://www.cnblogs.com/lingyao/p/5708929.html Xml代码 1 <?xml version="1. ...
- selenium java读取csv文件 (数据驱动)
javacsv2.1 下载地址:http://sourceforge.net/projects/javacsv/files/ 该链接可以下载java读取csv文件的jar 包.下载之后解压找到对应的. ...
- JAVA读取XML文件数据
XML文档内容如下: <?xml version="1.0" encoding="UTF-8"?> <root> <field t ...
- Java读取xml
首先将xml的格式展示出来,如下 <?xml version="1.0"?> <configuration> <connectionStrings n ...
随机推荐
- SpringBoot 中使用shiro注解使之生效
在shiroConfig配置类中增加如下代码: /** * 开启Shiro的注解(如@RequiresRoles,@RequiresPermissions),需借助SpringAOP扫描使用Shiro ...
- SourceTree git的管理工具使用教程1
1SourceTree是一个window系统下的Git管理工具 2设置Git 工具——选项——Git设置 3拷贝远程的项目 新建/克隆(输入远程项目的url地址) 4验证(填写用户信息) 工具——选项 ...
- delphi如何模块内部获得自身路径ExtractFilePath和paramstr(0)
如何模块内部获得自身路径?Exe程序:DLL程序: ExtractFilePath(Application.ExeName) GetCurrentDir TIniFile.Create(GetCurr ...
- SQL Server “超过了锁请求超时时段”错误
错误提示:“已超过了锁请求超时时段. (Microsoft SQL Server,错误: 1222)”(英文:“Lock Request time out period exceeded.(Micro ...
- WebSocket简单介绍(1)
HTML5作为下一代WEB标准,拥有许多引人注目的新特性,如Canvas.本地存储.多媒体编程接口.WebSocket等等.今天我们就来看看具有“Web TCP”之称的WebSocket. WebSo ...
- [luogu2617]Dynamic Rankings
题面在这里 description 动态区间第\(k\)大 data range \[n,m\le 10000,a_i,t\le 1e^9\] solution 前置技能:主席树,静态区间第\(k\) ...
- [洛谷P2839][国家集训队]middle
题目大意:给你一个长度为$n$的序列$s$.$Q$个询问,问在$s$中的左端点在$[a,b]$之间,右端点在$[c,d]$之间的子段中,最大的中位数. 强制在线. 题解:区间中位数?二分答案,如果询问 ...
- npm错误总结
You cannot publish over the previously published version 1.0.1." : xxx 发布时一定要修改package.json的版本号 ...
- 【BZOJ 3165】 [Heoi2013]Segment 李超线段树
所谓李超线段树就是解决此题一类的问题(线段覆盖查询点最大(小)),把原本计算几何的题目变成了简单的线段树,巧妙地结合了线段树的标记永久化与标记下传,在不考虑精度误差的影响下,打法应该是这样的. #in ...
- TCP ------ TCP创建服务器中出现的套接字
在服务器端,socket()返回的套接字用于监听(listen)和接受(accept)客户端的连接请求.这个套接字不能用于与客户端之间发送和接收数据. accept()接受一个客户端的连接请求,并返回 ...