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. LCA(最近公共祖先)——离线 Tarjan 算法

    tarjan算法的步骤是(当dfs到节点u时):1 在并查集中建立仅有u的集合,设置该集合的祖先为u1 对u的每个孩子v:   1.1 tarjan之   1.2 合并v到父节点u的集合,确保集合的祖 ...

  2. this.getClass().getResource()示例详解

    public class ResourceTest extends TimerTask{ @Override    public void run() {        System.out.prin ...

  3. Chromium之文件类型

    .grp: Generate your project. 是由Json(JavaScript Object Notation)(or Python?)来解析,根据环境(OS,Compiler..)来生 ...

  4. js canvas captcha

    js canvas captcha https://thejackalofjavascript.com/building-a-captcha-using-html5-canvas/ https://a ...

  5. SNMP协议介绍

    SNMP协议介绍 一.什么是SNMP SNMP:“简单网络管理协议”,用于网络管理的协议.SNMP用于网络设备的管理.SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了 “读”操作:管理 ...

  6. BZOJ2729 [HNOI2012]排队 【高精 + 组合数学】

    题目链接 BZOJ2729 题解 高考数学题... 我们先把老师看做男生,女生插空站 如果两个老师相邻,我们把他们看做一个男生,女生插空站 对于\(n\)个男生\(m\)个女生的方案数: \[n!m! ...

  7. vim插件修改背景颜色和代码颜色

    ls /usr/share/vim/vim74/colorsblue.vim default.vim desert.vim evening.vim morning.vim pablo.vim READ ...

  8. Codeforces 937.C Save Energy!

    C. Save Energy! time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  9. [模拟赛] GotoAndPlay

    GotoAndPlay 10月3日,在杭州市西湖景区,一只小松鼠不停地接受一道道食物,花生. 玉米.饼干,可谓来者不拒,憨态可掬的模样吸引了众多围观者... Description 小松鼠终于吃撑了, ...

  10. HDU3605:Escape(状态压缩+最大流)

    Escape Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...