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 (数据驱动)的更多相关文章

  1. Java读取xml数据

    xml中的代码 <?xml version="1.0" encoding="UTF-8"?> <books id="aaa" ...

  2. java 读取XML文件作为配置文件

    首先,贴上自己的实例: XML文件:NewFile.xml(该文件与src目录同级) <?xml version="1.0" encoding="UTF-8&quo ...

  3. java读取xml文件报“org.xml.sax.SAXParseException: Premature end of file” .

    背景:java读取xml文件,xml文件内容只有“<?xml version="1.0" encoding="UTF-8"?>”一行 java读取该 ...

  4. java读取XML文件的四种方式

    java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...

  5. JAVA读取XML文件并解析获取元素、属性值、子元素信息

    JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取  InputStream   DocumentBuilderFactory   Element     Node 前言 最 ...

  6. java读取 xml文件

    java读取xml文件的四种方法  转自https://www.cnblogs.com/lingyao/p/5708929.html Xml代码 1 <?xml version="1. ...

  7. selenium java读取csv文件 (数据驱动)

    javacsv2.1 下载地址:http://sourceforge.net/projects/javacsv/files/ 该链接可以下载java读取csv文件的jar 包.下载之后解压找到对应的. ...

  8. JAVA读取XML文件数据

    XML文档内容如下: <?xml version="1.0" encoding="UTF-8"?> <root> <field t ...

  9. Java读取xml

    首先将xml的格式展示出来,如下 <?xml version="1.0"?> <configuration> <connectionStrings n ...

随机推荐

  1. JSONP跨域jQuery处理整理(附天气数据实例)

    写在前面 跨域的解决方案有多种,其中最常见的是使用同一服务器下的代理来获取远端数据,再通过ajax进行读取,而在这期间经过了两次请求过程,使得获取数据的效率大大降低,这篇文章蓝飞就为大家介绍一下解决跨 ...

  2. winform timer时间间隔小于执行时间

    如果SetTimer的时间间隔为t,其响应事件OnTimer代码执行一遍的时间为T,且T>t.这样,一次未执行完毕,下一次定时到,这时候程序会如何执行? 可能的情况:1.丢弃还未执行的代码,开始 ...

  3. python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...

  4. HDU 1398 Square Coins 整数拆分变形 母函数

    欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) Square Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit ...

  5. Centos7安装GUI桌面

    2018-03-02 21:37:48 Centos7-1708成功 yum -y groupinstall "GNOME Desktop"

  6. 【算法】高斯消元&线性代数

    寒假作业~就把文章和题解3道题的代码扔在这里啦——链接: https://pan.baidu.com/s/1kWkGnxd 密码: bhh9 1.HNOI2013游走 #include <bit ...

  7. [洛谷P3195][HNOI2008]玩具装箱TOY

    题目大意:有n个物体,大小为$c_i$.把第i个到第j个放到一起,容器的长度为$x=j-i+\sum\limits_{k-i}^{j} c_k$,若长度为x,费用为$(x-L)^2$.费用最小. 题解 ...

  8. HDU 1556 线段树/树状数组/区间更新姿势 三种方法处理

    Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  9. SCOI2005 互不侵犯 [状压dp]

    题目传送门 题目大意:有n*n个格子,你需要放置k个国王使得它们无法互相攻击,每个国王的攻击范围为上下左走,左上右上左下右下,共8个格子,求最多的方法数 看到题目,是不是一下子就想到了玉米田那道题,如 ...

  10. poj3683 2-sat Priest John's Busiest Day

    Description John is the only priest in his town. September 1st is the John's busiest day in a year b ...