我在我的ASP .net网站上为python创建了一个简单的测试工具。
我想在结果页面中查找一些HTML标记以查找某些值。\
在python中执行此操作的最佳方式是什么?
例如(返回页面):
<div id="ErrorPanel">An error occurred......</div>
将显示(在python的std中):
Error: .....
或
<td id="dob">23/3/1985</td>
会显示:
Date of birth: 23/3/1985
答案 0 :(得分:4)
您是否要解析XML,正如您在问题文本中所示的问题标题或HTML中所述?对于后者,我建议BeautifulSoup - 下载并安装它,然后,一旦从HTML中生成soup
对象,您就可以轻松找到具有特定ID(或其他属性)的标记),例如:
errp = soup.find(attrs={'id': 'ErrorPanel'})
if errp is not None:
print 'Error:', errp.string
并且类似于另一种情况(如果您正在寻找非唯一属性,可以轻松调整,例如进入循环,等等)。
答案 1 :(得分:4)
您也可以使用lxml执行此操作。它handles HTML very well,您可以使用CSS selectors来查询DOM,如果您经常使用jQuery这样的库,这会非常有吸引力。