• 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 }
  • 相关阅读:
    PAT甲级——1110 Complete Binary Tree (完全二叉树)
    PAT甲级——1111 Online Map (单源最短路经的Dijkstra算法、priority_queue的使用)
    PAT甲级——1112 Stucked Keyboard (字符串+stl)
    PAT甲级——1114 Family Property (并查集)
    PAT甲级——1118 Birds in Forest (并查集)
    Pre- and Post-order Traversals(先序+后序序列,建立二叉树)
    PAT甲级——1123 Is It a Complete AVL Tree (完全AVL树的判断)
    AVL树(自平衡二叉查找树)
    PAT甲级——1126 Eulerian Path
    团队项目-选题报告
  • 原文地址:https://www.cnblogs.com/linxinmeng/p/6999955.html
Copyright © 2020-2023  润新知