Python 如何获取具有子元素条件的元素
我正在使用Python和Selenium进行一个爬行项目。我对如何从XML中获取具有子元素条件的元素感到困惑。例如,我们有一个如下所示的XML:Python 如何获取具有子元素条件的元素,python,xml,selenium,selenium-webdriver,xpath,Python,Xml,Selenium,Selenium Webdriver,Xpath,我正在使用Python和Selenium进行一个爬行项目。我对如何从XML中获取具有子元素条件的元素感到困惑。例如,我们有一个如下所示的XML: <html> <body> <a href='http://foo.com'> <span>foo</span> </a> </body> </html> 我想获得一个条件为spa
<html>
<body>
<a href='http://foo.com'>
<span>foo</span>
</a>
</body>
</html>
我想获得一个条件为
span
的标记,该标记包含“foo”。您可以使用XPath
实现以下目的:
//a[span[.="foo"]]
这意味着
标记有一个直接子项,其文本为“foo”
如果span是死者,您可以将/
添加到XPath
中的span
:
//a[//span[.="foo"]]
beautifulSoup应该为您提供所需的内容
from bs4 import BeautifulSoup
soup = BeautifulSoup(contents, "html.parser")
print(soup.find("span"))
还有更多的功能。你可以阅读更多这不是OP想要的。他要求a
元素包含span
和文本foo