pyppeteer 在元素内查找元素
时间: 2023-09-24 14:02:29 浏览: 44
使用 pyppeteer 查找元素的方法与使用其他 Python 的浏览器自动化库类似,可以使用 `page.querySelector` 或 `page.querySelectorAll` 方法来查找元素。
如果要在一个元素内查找另一个元素,可以使用 `elementHandle.querySelector` 或 `elementHandle.querySelectorAll` 方法,其中 `elementHandle` 是一个已经获取到的元素句柄。
例如,以下代码展示了如何在一个元素内查找另一个元素:
```python
from pyppeteer import launch
async def main():
browser = await launch()
page = await browser.newPage()
await page.goto('https://example.com')
# 获取页面上的第一个链接元素
link_element = await page.querySelector('a')
# 在链接元素内查找第一个段落元素
# 注意,此时需要使用 elementHandle 对象的方法
paragraph_element = await link_element.querySelector('p')
# 在段落元素内查找所有的 strong 元素
# 注意,此时也需要使用 elementHandle 对象的方法
strong_elements = await paragraph_element.querySelectorAll('strong')
# 打印找到的 strong 元素的数量
print(len(strong_elements))
await browser.close()
asyncio.get_event_loop().run_until_complete(main())
```
上述代码中,首先使用 `page.querySelector` 方法获取页面上第一个链接元素 `link_element`,然后使用 `link_element.querySelector` 方法在链接元素内查找第一个段落元素 `paragraph_element`,最后使用 `paragraph_element.querySelectorAll` 方法在段落元素内查找所有的 strong 元素并打印数量。