如何使用Pyppeteer获取textContent以外的元素属性(如src)
使用Pyppeteer获取img元素的src属性值
问题说明
目标HTML元素:
<img src="some_url" class="my_image">
尝试了以下Pyppeteer代码但无法生效:
selector = await page.waitForSelector("my_image") source = await selector.getProperty("src")
已知Puppeteer的实现方式,但对Pyppeteer的操作方法不熟悉,需要正确的解决方案。
正确实现方法
你的代码有两个问题需要修正:
- CSS选择器错误:
waitForSelector的参数是CSS选择器,class选择器必须以.开头,所以应该写成".my_image",而非直接写"my_image"。 - 属性值获取方式不对:
getProperty返回的是JSHandle对象,需要调用jsonValue()方法才能提取出实际的属性值。
修正后的完整代码:
selector = await page.waitForSelector(".my_image") src_handle = await selector.getProperty("src") src_value = await src_handle.jsonValue() print(src_value) # 输出 some_url
如果想更简洁,也可以直接用page.evaluate一步到位:
src_value = await page.evaluate('document.querySelector(".my_image").src') print(src_value)
内容的提问来源于stack exchange,提问作者teles
相关产品推荐
相关产品推荐

