<input>-Feld mit pyppeteer ausfüllen

English Deutsch

Um ein Eingabefeld mit der pyppeteer-Bibliothek auszufüllen, können Sie page.evaluate() verwenden.

Wenn Sie ein <input>-Element wie

input_example.html
<input name="myinput" id="myinput" type="text">

haben, können Sie

pyppeteer_fill_input_example.py
content = "Mein Inhalt" # Dies wird in <input id="myinput"> eingefüllt !
await page.evaluate(f"""() => {{
    document.getElementById('myinput').value = '{content}';
}}""")

Beachten Sie, dass page.evaluate() einfach jeden Javascript-Code ausführt, den Sie ihm geben, sodass Sie Ihre Javascript-Kenntnisse einsetzen können, um die Seite zu manipulieren.

Vollständiges Beispiel

Dieses Beispiel öffnet https://techoverflow.net, gibt einen Suchbegriff in das Suchfeld ein und erstellt dann einen Screenshot

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')

    # Dieses Beispiel füllt Inhalt in das Suchfeld ein
    content = "My search term"
    await page.evaluate(f"""() => {{
        document.getElementById('s').value = '{content}';
    }}""")

    # Screenshot erstellen
    await page.screenshot({'path': 'screenshot.png'})
    await browser.close()

asyncio.get_event_loop().run_until_complete(main())

Das Ergebnis sieht so aus:

Pyppeteer-Screenshot, der einen in das Eingabefeld eingegebenen Suchbegriff zeigt


Check out similar posts by category: Pyppeteer, Python