<config>
<!-- 被测服务器的ip信息 -->
<ipinfo>
<protocol>http</protocol>
<ip>172.31.31.100</ip>
<port>8100</port>
</ipinfo>
<!-- 被测服务器的db信息 -->
<dbinfo>
<dbip>172.31.31.100</dbip>
<dbport>3306</dbport>
<dbname>p2p3</dbname>
<dbuser>root</dbuser>
<dbpasswd>123456</dbpasswd>
</dbinfo>
<!-- 浏览器驱动类型相关信息,驱动默认已经添加到Path中 -->
<browserinfo>
<default>chrome</default>
<type>ie,firefox,chrome</type>
</browserinfo>
<!-- 智能等待超时时间 -->
<timeout>10</timeout>
<!-- 默认速度 -->
<defaultspeed>0</defaultspeed>
<!-- 异常时,放慢速度:实例化SeleniumDriver类时需要指明type的类型。数字也大,速度越慢,为1则表示放慢1秒 -->
<exceptspeed>3</exceptspeed>
</config>
import os
from xml.dom.minidom import parse
# 定义一个字典保存ip信息
ip_dict = {}
# 定义配置文件的路径
xml_path = os.path.dirname(os.path.dirname(__file__))+r"\conf\config.xml"
# 解析该xml文件,得到树状结构
dom_tree = parse(xml_path)
# 得到树状结构的根节点
document = dom_tree.documentElement
# 根据标签名字找到根节点下所有的ipinfo标签元素,并取出第一个(实际上,也只有一个)
ipinfo_element = document.getElementsByTagName("ipinfo")[0]
# 根据ipinfo标签元素取出其下一级的协议、IP、端口等标签元素
protocol_element = ipinfo_element.getElementsByTagName("protocol")[0]
ip_element = ipinfo_element.getElementsByTagName("ip")[0]
port_element = ipinfo_element.getElementsByTagName("port")[0]
# 再取出各标签元素第一个子节点的值
protocol = protocol_element.childNodes[0].data
ip = ip_element.childNodes[0].data
port = port_element.childNodes[0].data
# 以字典方式返回(可选)
ip_dict["ip"] = ip
ip_dict["port"] = port
ip_dict["protocol"] = protocol
print(ip_dict)
网友评论