Heim > Artikel > Backend-Entwicklung > Dieses von Microsoft erstellte Python-Tool für Anfänger ist so lecker!
Hallo zusammen, ich bin ein Neuling!
Ich habe kürzlich die G-Website besucht und festgestellt, dass Microsoft ein Open-Source-Projekt namens „playwright-python“ als aufstrebendes Projekt veröffentlicht hat.
Playwright ist ein reines Automatisierungstool für die Python-Sprache. Es kann Chromium-, Firefox- und WebKit-Browser automatisch über eine einzige API ausführen, ohne Code zu schreiben, um Automatisierungsfunktionen zu erreichen.
Obwohl das Testtool Selenium über eine vollständige Dokumentation verfügt, schreckt sein Lernaufwand viele Anfänger ab. Im Gegensatz dazu ist Playwright-Python lediglich ein Artefakt für Anfänger.
Funktioniert Playwright wirklich mit Python? Die Antwort lautet: Ja, Microsoft ist mit Playwright für Python bereit. Es kann zu bahnbrechenden API-Änderungen kommen. Aber die Chancen stehen gut, dass das nicht passieren wird, und Microsoft sagt, dass es dies nur tun wird, wenn man weiß, dass es Ihr Erlebnis mit der neuen Bibliothek verbessern wird.
Microsoft weist jedoch auch darauf hin, dass einige Eckfälle herstellerspezifischer APIs noch nicht unterstützt werden, z. B. das Sammeln von Chromium-Tracking, Abdeckungsberichten usw.
Playwright ist eine leistungsstarke Python-Bibliothek, die mit nur einer API automatisch automatisierte Vorgänge in Mainstream-Browsern wie Chromium, Firefox und WebKit ausführen kann und die Ausführung sowohl im Headless- als auch im Headless-Modus unterstützt.
Die von Playwright bereitgestellte Automatisierungstechnologie ist umweltfreundlich, leistungsstark, zuverlässig und schnell und unterstützt Linux-, Mac- und Windows-Betriebssysteme.
Einige Freunde lobten dies auch: Als reines Automatisierungstool für die Python-Sprache befreit dieses Projekt den Code und realisiert Automatisierungsfunktionen.
Die Installation von Playwright ist sehr einfach und kann in zwei Schritten durchgeführt werden.
安装playwright库 pip install playwright 安装浏览器驱动文件(安装过程稍微有点慢) python -m playwright install
Die beiden oben genannten Pip-Vorgänge werden separat installiert:
命令行键入 --help 可看到所有选项 python -m playwright codegen
python -m playwright codegen --help Usage: index codegen [options] [url] open page and generate code for user actions Options: -o, --output <file name>saves the generated script to a file --target <language> language to use, one of javascript, python, python-async, csharp (default: "python") -h, --helpdisplay help for command Examples: $ codegen $ codegen --target=python $ -b webkit codegen https://example.comOptionsbedeutung:
-o: Speichern Sie das aufgezeichnete Skript in einer Datei
--target: Geben Sie die Sprache zum Generieren des Skripts an. Es gibt zwei Typen: JS und Python. Der Standardwert ist Python
python -m playwright codegen --target python -o 'my.py' -b chromium https://www.baidu.com
Schließen Sie den Browser nach Abschluss automatisch und speichern Sie das generierte Automatisierungsskript in einer PY-Datei.
from playwright import sync_playwright def run(playwright): browser = playwright.chromium.launch(headless=False) context = browser.newContext() # Open new page page = context.newPage() page.goto("https://www.baidu.com/") page.click("input[name="wd"]") page.fill("input[name="wd"]", "jingdong") page.click("text="京东"") # Click //a[normalize-space(.)='京东JD.COM官网 多快好省 只为品质生活'] with page.expect_navigation(): with page.expect_popup() as popup_info: page.click("//a[normalize-space(.)='京东JD.COM官网 多快好省 只为品质生活']") page1 = popup_info.value # --------------------- context.close() browser.close() with sync_playwright() as playwright: run(playwright
Darüber hinaus stellt Playwright auch synchrone und asynchrone API-Schnittstellen bereit, die Dokumente lauten wie folgt.
Link: https://microsoft.github.io/playwright-python/index.html
Synchronisationfrom playwright import sync_playwright with sync_playwright() as p: for browser_type in [p.chromium, p.firefox, p.webkit]: browser = browser_type.launch() page = browser.newPage() page.goto('https://baidu.com/') page.screenshot(path=f'example-{browser_type.name}.png') browser.close()AsynchronAsynchrone Vorgänge können mit asyncio kombiniert werden, um drei Browser-Vorgänge gleichzeitig auszuführen.
import asyncio from playwright import async_playwright async def main(): async with async_playwright() as p: for browser_type in [p.chromium, p.firefox, p.webkit]: browser = await browser_type.launch() page = await browser.newPage() await page.goto('http://baidu.com/') await page.screenshot(path=f'example-{browser_type.name}.png') await browser.close() asyncio.get_event_loop().run_until_complete(main())Mobile VersionWas noch erstaunlicher ist, ist, dass Playwright auch die Simulation mobiler Browser unterstützen kann. Im Folgenden finden Sie einen im offiziellen Dokument bereitgestellten Code, der den Safari-Browser auf dem iPhone 11 Pro an einem bestimmten geografischen Standort simuliert. Navigieren Sie zunächst zu „maps.google.com“, führen Sie dann eine Positionierung durch und machen Sie einen Screenshot.
from playwright import sync_playwright with sync_playwright() as p: iphone_11 = p.devices['iPhone 11 Pro'] browser = p.webkit.launch(headless=False) context = browser.newContext( **iphone_11, locale='en-US', geolocation={ 'longitude': 12.492507, 'latitude': 41.889938 }, permissions=['geolocation'] ) page = context.newPage() page.goto('https://maps.google.com') page.click('text="Your location"') page.screenshot(path='colosseum-iphone.png') browser.close()Darüber hinaus kann es auch mit dem Pytest-Plugin verwendet werden. Wenn Sie interessiert sind, können Sie es selbst ausprobieren. 3. Zusammenfassungplaywright bietet viele Vorteile gegenüber bestehenden automatisierten Testtools, darunter:
Obwohl es einige Einschränkungen gibt, wurde Playwright jetzt auf Version 1.7.0 aktualisiert. Mit jeder Aktualisierungsgeneration wird das System perfekter. Als Einsteiger-Tool ist es unserer Meinung nach für die Zukunft so wertvoll immer besser.
Das obige ist der detaillierte Inhalt vonDieses von Microsoft erstellte Python-Tool für Anfänger ist so lecker!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!