如何在Playwright中将XPath多查询结果存入Python列表?
如何用Playwright将XPath多结果存入Python列表?
当你用page.locator("//p").text_content()时,只会拿到第一个匹配元素的文本——因为这个方法默认只处理定位器匹配到的第一个结果。要把所有<p>标签的文本存入列表,有两种实用方法:
方法一:直接用all_text_contents()(最简便)
Playwright的定位器内置了all_text_contents()方法,能直接返回所有匹配元素的文本内容列表:
page.goto("https://stackoverflow.co/") p_texts = page.locator("//p").all_text_contents() print(p_texts)
方法二:手动遍历元素(灵活扩展)
如果需要对每个<p>元素做额外操作(比如检查属性、执行其他动作),可以先用all()获取所有元素对象,再逐个提取文本:
page.goto("https://stackoverflow.co/") p_elements = page.locator("//p").all() p_texts = [element.text_content() for element in p_elements] print(p_texts)
可选:过滤空文本
如果页面里有空白的<p>标签,你可以过滤掉空内容:
p_texts = [text.strip() for text in page.locator("//p").all_text_contents() if text.strip()]
内容的提问来源于stack exchange,提问作者Melter
相关产品推荐
相关产品推荐

