Pyppeteer ist ein Python-Paket zum Bedienen des Chrome-Browsers, der ein Port der Bibliothek Puppeteer für node.js nach Python ist. Da es nur wenige Informationen zu Pyppereer gibt, ist es möglicherweise besser, bei der Suche mit Puppenspieler zu suchen.
Blog des Pyppeteer-Autors Puppenspieler-Website
pip install pyppeteer
import asyncio
from pyppeteer import launch
async def main():
browser = await launch()
page = await browser.newPage()
await page.goto('https://google.com')
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
Durch Ausführen des obigen Befehls wird Chronium im Headless-Modus gestartet, die Google-Site geöffnet und der Browser geschlossen. Chromium wird beim ersten Import nur einmal installiert. Standardmäßig startet Pyppeteer den Browser im Headless-Modus.
browser = await launch(headless=False)
Sie können den Browser anzeigen, indem Sie dies tun.
#Holen Sie sich das erste Element, das die Kriterien erfüllt
# page.Auch mit J möglich
textbox = await page.querySelector('input[aria-label="Suche"]')
textbox = await page.J('input[aria-label="Suche"]')
#Holen Sie sich alle Elemente, die die Bedingungen erfüllen
# page.Auch mit JJ möglich
buttons = await page.querySelectorAll('input[aria-label="Google-Suche"]')
buttons = await page.JJ('input[aria-label="Google-Suche"]')
# page.type(Wähler,Eingegebener Wert)
#Möglich sogar aus dem erworbenen Element
await page.type('input[aria-label="Suche"]', 'pyppeteer')
await textbox.type('pyppeteer')
# page.click(Wähler)
#Es ist sogar aus dem erworbenen Element möglich
#Weil die Google-Suchschaltfläche das zweite Element auswählen muss
#Soll ich es mit querySelectorAll bekommen?
await page.click('last-child:input[aria-label="Google-Suche"]')
await buttons[1].click()
Holen Sie es sich, indem Sie Javascript mit page.evaluate ausführen.
text = await page.evaluate('elm => elm.getAttribute("name")',textbox)
Das gleiche wie oben
elm = await page.J('#hptl')
text = await page.evaluate('elm => elm.innerHTML', elm)
Recommended Posts