如何使用 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())

结果将看起来像这样:

显示搜索词填入输入字段的 Pyppeteer 截图


Check out similar posts by category: Pyppeteer, Python