Python定位页面元素一个标签中有两个文本,如何定位其中一个文本

HTML代码如下:

<div class="alert alert-error"

<button class="close" type="button" data-dismiss="alert" >X</button>

用户名或密码错误!

</div>

在定位时会把‘X’也提取出来,怎么只提取出‘用户名或密码错误!’者几个字?

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
from  bs4 import BeautifulSoup
html = '''
<div class="alert alert-error">

<button class="close" type="button" data-dismiss="alert" >X</button>

用户名或密码错误!

</div>
'''

soup = BeautifulSoup(html, "html.parser")
print soup.div.contents[2]

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-23
python定位元素 我是用selenium的方法,具体是通过Xpath来定位。
先分析这个HTML里的”用户名或密码错误!”是在div标签里啊。所以这里只有一个文本

button标签里的文本是一个X
用Xpath定位时,定位”用户名或密码错误!”, xpath=("xxxxxx(这一串表示前面的节点)/div[text()="用户名或密码错误!"]")
定位”x”, xpath=(“xxxxxx(这一串表示前面的节点)/div/button[text()="X"]”)
第2个回答  2017-07-07
那么你是怎么定位的 贴代码
相似回答