• 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  1 package selenium.test;
     2  2 
     3  3 import java.io.File;
     4  4 import javax.xml.parsers.DocumentBuilder;
     5  5 import javax.xml.parsers.DocumentBuilderFactory;
     6  6 
     7  7 import org.python.constantine.platform.darwin.Sysconf;
     8  8 import org.w3c.dom.Document;
     9  9 import org.w3c.dom.NodeList;
    10 10 
    11 11 public class readXML {
    12 12     public static void main(String[] args) {
    13 13         try {
    14 14             File xmlFile = new File("C:\Users\happy\Desktop\Domo.xml");
    15 15             DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    16 16             DocumentBuilder builder = factory.newDocumentBuilder();
    17 17             Document doc = builder.parse(xmlFile);
    18 18             // 获取指定标签中元素/属性的值
    19 19             NodeList login = doc.getElementsByTagName("login");
    20 20             System.out.println(login.item(0).getAttributes().getNamedItem("username"));
    21 21             System.out.println(login.item(0).getAttributes().getNamedItem("passwd"));
    22 22             NodeList ca = doc.getElementsByTagName("caption");
    23 23             // 获取标签中的文本内容
    24 24             for (int i = 0; i < ca.getLength(); i++) {
    25 25                 System.out.println(ca.item(i).getTextContent());
    26 26                 //循环获取caption标签中的文本内容
    27 27             }
    28 28 
    29 29         } catch (Exception e) {
    30 30             e.printStackTrace();
    31 31         }
    32 32     }
    33 33 
    34 34 }
  • 相关阅读:
    委托的说明和举例
    用C#编写获取远程IP,MAC的方法
    200个Gmail邀请,要的请留下邮箱地址
    .NET中各种数据库连接大全
    .net中何有效的使用Cache
    55种网页常用小技巧(javascript) (转)
    一个WEB项目安装包,自动配置数据库,config文件和虚拟目录。。(转)
    windows xp sp2后所有更新
    C#反射实例(转)
    可扩展的应用程序:新增功能时无须重新编译
  • 原文地址:https://www.cnblogs.com/linxinmeng/p/6999955.html
Copyright © 2020-2023  润新知