<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:

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