Jadual Kandungan
1. Pengenalan kepada Playwright
2. Pasang Playwright menggunakan
Rakaman
Penyegerakan
Asynchronous
Versi mudah alih
3 Ringkasan
Menyokong semua penyemak imbas
Mempunyai pelaksanaan yang pantas dan andal
Mempunyai keupayaan automasi yang berkuasa
Tetapi ia juga mempunyai had
Rumah pembangunan bahagian belakang Tutorial Python Alat baru Python Microsoft sangat lazat!

Alat baru Python Microsoft sangat lazat!

Apr 12, 2023 am 10:55 AM
python Microsoft artifak Xiaobai

Alat baru Python Microsoft sangat lazat!

Helo semua, saya seorang pemula!

Baru-baru ini saya melawat tapak web G dan mendapati bahawa Microsoft telah membuka sumber terbuka projek yang dipanggil "playwright-python" sebagai projek yang semakin meningkat.

Alat baru Python Microsoft sangat lazat!

Penulis drama ialah alat automasi tulen untuk bahasa Python Ia boleh melaksanakan penyemak imbas Chromium, Firefox dan WebKit secara automatik melalui satu API .

Walaupun alat ujian selenium mempunyai dokumentasi lengkap, kos pembelajarannya melarang ramai orang baru. Sebaliknya, penulis drama-python hanyalah artifak untuk orang baru.

Adakah Playwright benar-benar berfungsi dengan Python? Jawapannya ya, Microsoft sudah bersedia dengan Playwright untuk Python. Perubahan API yang melanggar mungkin berlaku. Tetapi kemungkinannya adalah bahawa itu tidak akan berlaku, dan Microsoft berkata ia hanya akan berbuat demikian jika mereka tahu ia akan meningkatkan pengalaman anda dengan perpustakaan baharu.

Walau bagaimanapun, Microsoft juga mengingatkan bahawa beberapa kes sudut API khusus vendor belum lagi disokong, seperti mengumpul penjejakan Chromium, pelaporan liputan, dsb.

1. Pengenalan kepada Playwright

Playwright ialah perpustakaan Python yang berkuasa yang boleh secara automatik melaksanakan operasi automatik pada penyemak imbas arus perdana seperti Chromium, Firefox dan WebKit menggunakan hanya satu API, dan juga menyokong penyemak imbas tanpa kepala mod ., operasi mod tanpa kepala.

Teknologi automasi yang disediakan oleh Playwright adalah hijau, berkuasa, boleh dipercayai dan pantas serta menyokong sistem pengendalian Linux, Mac dan Windows.

Sesetengah rakan turut memuji ini: Sebagai alat automasi tulen untuk bahasa Python, projek ini membebaskan kod dan merealisasikan fungsi automasi.

2. Pasang Playwright menggunakan

Pemasangan Playwright sangat mudah dan boleh diselesaikan dalam dua langkah.

安装playwright库
pip install playwright
安装浏览器驱动文件(安装过程稍微有点慢)
python -m playwright install
Salin selepas log masuk

Dua operasi pip di atas dipasang secara berasingan:

  • Pasang pustaka pergantungan Playwright, yang memerlukan Python3.7+
  • Pasang Chromium, Firefox, WebKit , dsb. untuk menyemak imbas Fail pemacu penyemak imbas

Rakaman

Menggunakan Playwright tidak memerlukan menulis baris kod Kami hanya perlu mengendalikan penyemak imbas secara manual, dan ia akan melakukannya merekodkan operasi kami dan kemudian menjana skrip kod secara automatik.

Berikut ialah codegen arahan yang direkodkan, hanya satu baris.

命令行键入 --help 可看到所有选项
python -m playwright codegen
Salin selepas log masuk

Penggunaan codegen boleh dilihat menggunakan --help Jika ia mudah digunakan, tambahkan pautan url terus selepas arahan Jika anda mempunyai keperluan lain, anda boleh menambah pilihan.

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.com
Salin selepas log masuk

maksud pilihan:

  • -o: Simpan skrip yang dirakam ke fail
  • --sasaran: Tentukan bahasa untuk menjana skrip, termasuk JS dan Python, lalainya ialah Python
  • -b: Tentukan pemacu penyemak imbas

Contohnya, saya ingin mencari di baidu.com, gunakan pemacu kromium dan simpan hasil sebagai fail python saya.

python -m playwright codegen --target python -o 'my.py' -b chromium https://www.baidu.com
Salin selepas log masuk

Selepas memasuki baris arahan, penyemak imbas akan dibuka secara automatik, dan kemudian anda dapat melihat bahawa setiap tindakan pada penyemak imbas akan diterjemahkan secara automatik ke dalam kod, seperti yang ditunjukkan di bawah.

Alat baru Python Microsoft sangat lazat!

Tutup penyemak imbas secara automatik selepas selesai dan simpan skrip automasi yang dijana pada fail py.

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
Salin selepas log masuk

Selain itu, penulis drama juga menyediakan antara muka API segerak dan tak segerak, dokumennya adalah seperti berikut.

  • Pautan: https://microsoft.github.io/playwright-python/index.html

Penyegerakan

Kod sampel berikut: Buka mengikut urutan Untuk tiga penyemak imbas, pergi ke Baidu untuk mencari, mengambil tangkapan skrin dan keluar.

from 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()
Salin selepas log masuk

Asynchronous

Operasi tak segerak boleh digabungkan dengan asyncio untuk melaksanakan tiga operasi penyemak imbas pada masa yang sama.

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())
Salin selepas log masuk

Versi mudah alih

Apa yang lebih menakjubkan ialah penulis drama juga boleh menyokong simulasi penyemak imbas mudah alih. Berikut ialah sekeping kod yang disediakan oleh dokumen rasmi, yang mensimulasikan penyemak imbas Safari pada iPhone 11 pro di lokasi geografi tertentu Mula-mula, navigasi ke maps.google.com, kemudian lakukan penentududukan dan ambil tangkapan skrin.

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()
Salin selepas log masuk

Selain itu, ia juga boleh digunakan dengan pytest plug-in Jika anda berminat, anda boleh mencubanya sendiri.

3 Ringkasan

Penulis drama mempunyai banyak kelebihan berbanding alat ujian automatik sedia ada, termasuk:

Menyokong semua penyemak imbas

  • Diuji pada Chromium, Firefox dan WebKit. Playwright mempunyai liputan API yang lengkap untuk semua penyemak imbas moden, termasuk Google Chrome dan Microsoft Edge (dengan Chromium), Apple Safari (dengan WebKit) dan Mozilla Firefox.
  • Ujian WebKit merentas platform. Uji cara apl anda berkelakuan dalam Apple Safari menggunakan Playwright, dibina dengan WebKit untuk Windows, Linux dan macOS. Diuji secara tempatan dan pada CI.
  • Uji telefon. Uji aplikasi web responsif anda dalam penyemak imbas web mudah alih menggunakan emulasi peranti.
  • Tanpa pengepala dan dengan pengepala. Penulis drama menyokong mod tanpa kepala (tiada UI pelayar) dan tanpa kepala (dengan UI penyemak imbas) untuk semua penyemak imbas dan semua platform. Mod pengepala sesuai untuk penyahpepijatan, manakala mod tanpa pengepala sesuai untuk pelaksanaan CI/awan.

Mempunyai pelaksanaan yang pantas dan andal

  • API auto-tunggu. Interaksi penulis drama secara automatik menunggu sehingga elemen sedia. Ini meningkatkan kebolehpercayaan dan memudahkan proses penulisan ujian.
  • Tiada automasi tamat masa. Penulis drama menerima isyarat penyemak imbas seperti permintaan rangkaian, navigasi halaman dan acara pemuatan halaman untuk menghapuskan gangguan yang terganggu tidur.
  • Kekal selari dengan konteks penyemak imbas. Gunakan semula contoh penyemak imbas tunggal untuk berbilang persekitaran boleh laku konteks penyemak imbas terpencil selari.
  • Pemilih unsur seksual. Penulis drama boleh bergantung pada rentetan yang dihadapi pengguna seperti kandungan teks dan teg kebolehaksesan untuk memilih elemen. Rentetan ini lebih fleksibel daripada pemilih yang digandingkan rapat dengan struktur DOM.

Mempunyai keupayaan automasi yang berkuasa

  • Berbilang domain, halaman dan bingkai. Penulis drama ialah pemacu automasi di luar proses yang tidak terhad oleh skop pelaksanaan JavaScript dalam halaman dan boleh mengautomasikan senario dengan berbilang halaman.
  • Kawalan rangkaian yang berkuasa. Penulis drama memperkenalkan pemintasan rangkaian seluruh konteks untuk menamatkan atau mensimulasikan permintaan rangkaian.
  • Ciri web moden. Penulis drama menyokong komponen web dengan pemilih yang dimasukkan, geolokasi, kebenaran, pekerja web dan API web moden yang lain.
  • Keupayaan untuk merangkumi semua senario. Menyokong muat turun dan muat naik fail, iframe yang tidak diproses, peristiwa input asli dan juga mod gelap.

Tetapi ia juga mempunyai had

  • Sokongan Old Edge dan IE11. Penulis drama tidak menyokong versi lama Microsoft Edge atau IE11 (notis penamatan). Sokongan untuk Microsoft Edge baharu (pada Chromium).
  • Ikatan Bahasa Java: API Penulis Drama tidak tersedia di Java atau Ruby pada masa ini. Ini adalah pengehadan sementara, kerana Playwright direka untuk menyokong pengikatan untuk mana-mana bahasa.
  • Ujian pada peranti mudah alih sebenar: Penulis drama menggunakan penyemak imbas desktop untuk mensimulasikan peranti mudah alih.

Walaupun terdapat beberapa pengehadan, pengarang drama kini telah dikemas kini kepada versi 1.7.0 Dengan setiap generasi kemas kini, sistem akan menjadi lebih sempurna Sebagai artifak pemula, ia menyelamatkan semua orang , kami percaya masa depannya akan menjadi lebih baik dan lebih baik.

Atas ialah kandungan terperinci Alat baru Python Microsoft sangat lazat!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP dan Python: Paradigma yang berbeza dijelaskan PHP dan Python: Paradigma yang berbeza dijelaskan Apr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Apr 16, 2025 am 12:12 AM

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Memilih antara php dan python: panduan Memilih antara php dan python: panduan Apr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

Boleh kod vs dijalankan di Windows 8 Boleh kod vs dijalankan di Windows 8 Apr 15, 2025 pm 07:24 PM

Kod VS boleh dijalankan pada Windows 8, tetapi pengalaman mungkin tidak hebat. Mula -mula pastikan sistem telah dikemas kini ke patch terkini, kemudian muat turun pakej pemasangan kod VS yang sepadan dengan seni bina sistem dan pasangnya seperti yang diminta. Selepas pemasangan, sedar bahawa beberapa sambungan mungkin tidak sesuai dengan Windows 8 dan perlu mencari sambungan alternatif atau menggunakan sistem Windows yang lebih baru dalam mesin maya. Pasang sambungan yang diperlukan untuk memeriksa sama ada ia berfungsi dengan betul. Walaupun kod VS boleh dilaksanakan pada Windows 8, disyorkan untuk menaik taraf ke sistem Windows yang lebih baru untuk pengalaman dan keselamatan pembangunan yang lebih baik.

Bolehkah kod studio visual digunakan dalam python Bolehkah kod studio visual digunakan dalam python Apr 15, 2025 pm 08:18 PM

Kod VS boleh digunakan untuk menulis Python dan menyediakan banyak ciri yang menjadikannya alat yang ideal untuk membangunkan aplikasi python. Ia membolehkan pengguna untuk: memasang sambungan python untuk mendapatkan fungsi seperti penyempurnaan kod, penonjolan sintaks, dan debugging. Gunakan debugger untuk mengesan kod langkah demi langkah, cari dan selesaikan kesilapan. Mengintegrasikan Git untuk Kawalan Versi. Gunakan alat pemformatan kod untuk mengekalkan konsistensi kod. Gunakan alat linting untuk melihat masalah yang berpotensi lebih awal.

PHP dan Python: menyelam mendalam ke dalam sejarah mereka PHP dan Python: menyelam mendalam ke dalam sejarah mereka Apr 18, 2025 am 12:25 AM

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Cara menjalankan program di terminal vscode Cara menjalankan program di terminal vscode Apr 15, 2025 pm 06:42 PM

Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.

Adakah sambungan vscode berniat jahat? Adakah sambungan vscode berniat jahat? Apr 15, 2025 pm 07:57 PM

Sambungan kod VS menimbulkan risiko yang berniat jahat, seperti menyembunyikan kod jahat, mengeksploitasi kelemahan, dan melancap sebagai sambungan yang sah. Kaedah untuk mengenal pasti sambungan yang berniat jahat termasuk: memeriksa penerbit, membaca komen, memeriksa kod, dan memasang dengan berhati -hati. Langkah -langkah keselamatan juga termasuk: kesedaran keselamatan, tabiat yang baik, kemas kini tetap dan perisian antivirus.

See all articles