如何使用 pyppeteer 填充 <input> 字段
为了使用 pyppeteer 库填充输入字段,你可以使用 page.evaluate()。
如果你有类似这样的 <input> 元素
input_example.html
<input name="myinput" id="myinput" type="text">你可以使用
pyppeteer_fill_input_example.py
content = "我的内容" # 这将填入 <input id="myinput"> !
await page.evaluate(f"""() => {{
document.getElementById('myinput').value = '{content}';
}}""")注意 page.evaluate() 只运行你给它的任何 Javascript 代码,因此你可以利用你的 Javascript 技能来操作页面。
完整示例
此示例将打开 https://techoverflow.net,在搜索字段中输入搜索词,然后创建截图
pyppeteer_full_example.py
#!/usr/bin/env python3
import asyncio
from pyppeteer import launch
async def main():
browser = await launch()
page = await browser.newPage()
await page.goto('https://techoverflow.net')
# 此示例将内容填入搜索字段
content = "My search term"
await page.evaluate(f"""() => {{
document.getElementById('s').value = '{content}';
}}""")
# 制作截图
await page.screenshot({'path': 'screenshot.png'})
await browser.close()
asyncio.get_event_loop().run_until_complete(main())结果将看起来像这样:

If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow