Nhà viết kịch python đợi bộ chọn

Khi cạo các trang web động bằng Playwright và Python, chúng tôi cần đợi trang tải đầy đủ trước khi truy xuất nguồn trang. Sử dụng phương pháp

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
085 của Playwright, chúng tôi có thể đợi một phần tử cụ thể xuất hiện trên trang cho biết rằng trang web đã được tải đầy đủ và sau đó chúng tôi có thể lấy nguồn trang

Show
with sync_playwright() as pw:
    browser = pw.chromium.launch(headless=False)
    context = browser.new_context(viewport={"width": 1920, "height": 1080})
    page = context.new_page()

    # go to url
    page.goto("https://twitch.tv/directory/game/Art")
    # wait for element to appear on the page:
    page.wait_for_selector("div[data-target=directory-first-item]")
    # get HTML
    print(page.content())

Trang cung cấp các phương thức để tương tác với một tab trong Trình duyệt hoặc trang nền của tiện ích mở rộng trong Chromium. Một phiên bản Trình duyệt có thể có nhiều phiên bản Trang

Ví dụ này tạo một trang, điều hướng trang đến một URL, sau đó lưu ảnh chụp màn hình

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())

Lớp Trang phát ra các sự kiện khác nhau (được mô tả bên dưới) có thể được xử lý bằng bất kỳ phương thức gốc nào của Node, chẳng hạn như

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
90,
import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
91 hoặc
import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
92

Ví dụ này ghi lại một thông báo cho một trang duy nhất

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
93 sự kiện

page.once("load", lambda: print("page loaded!"))

Để hủy đăng ký sự kiện, hãy sử dụng phương pháp

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
92

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)


Sự kiện

bật ("đóng")

Đã thêm vào. v1. 8 trang. bật ("đóng")

Phát ra khi đóng trang

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
0

Dữ liệu sự kiện

  • Trang

bật ("bảng điều khiển")

Đã thêm vào. v1. 8 trang. bật ("bảng điều khiển")

Được phát ra khi JavaScript trong trang gọi một trong các phương thức API của bảng điều khiển, e. g.

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
95 hoặc
import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
96. Cũng được phát ra nếu trang đưa ra lỗi hoặc cảnh báo

Các đối số được truyền vào

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
95 xuất hiện dưới dạng các đối số trên trình xử lý sự kiện

Một ví dụ xử lý sự kiện

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
98

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
5

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
6

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
7

Dữ liệu sự kiện

  • ConsoleMessage

bật ("sự cố")

Đã thêm vào. v1. 8 trang. bật ("sự cố")

Xuất hiện khi trang gặp sự cố. Các trang trình duyệt có thể bị lỗi nếu chúng cố phân bổ quá nhiều bộ nhớ. Khi trang gặp sự cố, các hoạt động đang diễn ra và tiếp theo sẽ ném

Cách phổ biến nhất để xử lý sự cố là bắt ngoại lệ

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
8

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
9

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
0

Dữ liệu sự kiện

  • Trang

bật ("hộp thoại")

Đã thêm vào. v1. 8 trang. bật ("hộp thoại")

Được phát ra khi hộp thoại JavaScript xuất hiện, chẳng hạn như

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
99,
page.once("load", lambda: print("page loaded!"))
00,
page.once("load", lambda: print("page loaded!"))
01 hoặc
page.once("load", lambda: print("page loaded!"))
02. Người nghe phải hoặc hộp thoại - nếu không thì trang sẽ đợi hộp thoại và các hành động như nhấp chuột sẽ không bao giờ kết thúc

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
1

Ghi chú

Khi không có người nghe, tất cả các hộp thoại sẽ tự động bị loại bỏ

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
2

Dữ liệu sự kiện

  • hộp thoại

bật ("đã tải nội dung")

Đã thêm vào. v1. 9 trang. bật ("đã tải nội dung")

Được phát ra khi sự kiện JavaScript

page.once("load", lambda: print("page loaded!"))
03 được gửi đi

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
3

Dữ liệu sự kiện

  • Trang

bật ("tải xuống")

Đã thêm vào. v1. 8 trang. bật ("tải xuống")

Được phát ra khi bắt đầu tải xuống tệp đính kèm. Người dùng có thể truy cập các thao tác tệp cơ bản trên nội dung đã tải xuống thông qua phiên bản Tải xuống đã thông qua

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
4

Dữ liệu sự kiện

  • Tải xuống

bật ("trình chọn tệp")

Đã thêm vào. v1. 9 trang. bật ("trình chọn tệp")

Được phát ra khi bộ chọn tệp được cho là xuất hiện, chẳng hạn như sau khi nhấp vào nút

page.once("load", lambda: print("page loaded!"))
04. Nhà viết kịch có thể phản hồi thông qua cài đặt các tệp đầu vào bằng cách sử dụng tệp có thể được tải lên sau đó

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
5

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
6

Dữ liệu sự kiện

  • Trình chọn tệp

on("khung được đính kèm")

Đã thêm vào. v1. 9 trang. on("khung được đính kèm")

Phát ra khi khung được đính kèm

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
7

Dữ liệu sự kiện

  • Khung

on("tách khung")

Đã thêm vào. v1. 9 trang. on("tách khung")

Phát ra khi một khung được tách ra

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
8

Dữ liệu sự kiện

  • Khung

bật ("điều hướng khung")

Đã thêm vào. v1. 9 trang. bật ("điều hướng khung")

Phát ra khi một khung được điều hướng đến một url mới

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
9

Dữ liệu sự kiện

  • Khung

đang tải")

Đã thêm vào. v1. 8 trang. đang tải")

Được phát ra khi sự kiện JavaScript

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
93 được gửi đi

Cách sử dụng

page.once("load", lambda: print("page loaded!"))
0

Dữ liệu sự kiện

  • Trang

on("lỗi trang")

Đã thêm vào. v1. 9 trang. on("lỗi trang")

Được phát ra khi một ngoại lệ chưa được phát hiện xảy ra trong trang

  • Đồng bộ hóa
  • Không đồng bộ

page.once("load", lambda: print("page loaded!"))
1

page.once("load", lambda: print("page loaded!"))
2

Cách sử dụng

page.once("load", lambda: print("page loaded!"))
3

Dữ liệu sự kiện

  • Lỗi

bật ("cửa sổ bật lên")

Đã thêm vào. v1. 8 trang. bật ("cửa sổ bật lên")

Phát ra khi trang mở một tab hoặc cửa sổ mới. Sự kiện này được phát ra ngoài sự kiện, nhưng chỉ dành cho cửa sổ bật lên có liên quan đến trang này

Thời điểm sớm nhất mà trang có sẵn là khi nó đã điều hướng đến url ban đầu. Ví dụ: khi mở cửa sổ bật lên có tên

page.once("load", lambda: print("page loaded!"))
06, sự kiện này sẽ kích hoạt khi mạng yêu cầu "http. //ví dụ. com" đã hoàn tất và phản hồi của nó đã bắt đầu tải trong cửa sổ bật lên

  • Đồng bộ hóa
  • Không đồng bộ

page.once("load", lambda: print("page loaded!"))
4

page.once("load", lambda: print("page loaded!"))
5

Ghi chú

Sử dụng để đợi cho đến khi trang đến một trạng thái cụ thể (bạn không cần nó trong hầu hết các trường hợp)

Cách sử dụng

page.once("load", lambda: print("page loaded!"))
6

Dữ liệu sự kiện

  • Trang

theo yêu cầu")

Đã thêm vào. v1. 8 trang. theo yêu cầu")

Được phát ra khi một trang đưa ra yêu cầu. Đối tượng yêu cầu là chỉ đọc. Để chặn và thay đổi yêu cầu, hãy xem hoặc

Cách sử dụng

page.once("load", lambda: print("page loaded!"))
7

Dữ liệu sự kiện

  • Yêu cầu

bật ("yêu cầu không thành công")

Đã thêm vào. v1. 9 trang. bật ("yêu cầu không thành công")

Được phát ra khi một yêu cầu không thành công, ví dụ như khi hết thời gian chờ

page.once("load", lambda: print("page loaded!"))
8

Ghi chú

Phản hồi Lỗi HTTP, chẳng hạn như 404 hoặc 503, vẫn là phản hồi thành công từ quan điểm HTTP, do đó, yêu cầu sẽ hoàn thành với sự kiện chứ không phải với. Yêu cầu sẽ chỉ được coi là không thành công khi máy khách không thể nhận được phản hồi HTTP từ máy chủ, e. g. do lỗi mạng net. ERR_FAILED

Cách sử dụng

page.once("load", lambda: print("page loaded!"))
9

Dữ liệu sự kiện

  • Yêu cầu

on("requestfinished")

Đã thêm vào. v1. 9 trang. on("requestfinished")

Được phát ra khi một yêu cầu kết thúc thành công sau khi tải xuống nội dung phản hồi. Để phản hồi thành công, chuỗi sự kiện là

page.once("load", lambda: print("page loaded!"))
07,
page.once("load", lambda: print("page loaded!"))
08 và
page.once("load", lambda: print("page loaded!"))
09

Cách sử dụng

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
0

Dữ liệu sự kiện

  • Yêu cầu

bật ("phản hồi")

Đã thêm vào. v1. 8 trang. bật ("phản hồi")

Được phát ra khi nhận được trạng thái phản hồi và tiêu đề cho một yêu cầu. Để phản hồi thành công, chuỗi sự kiện là

page.once("load", lambda: print("page loaded!"))
07,
page.once("load", lambda: print("page loaded!"))
08 và
page.once("load", lambda: print("page loaded!"))
09

Cách sử dụng

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
1

Dữ liệu sự kiện

  • Phản ứng

bật ("ổ cắm web")

Đã thêm vào. v1. 9 trang. bật ("ổ cắm web")

Được phát ra khi yêu cầu WebSocket được gửi

Cách sử dụng

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
2

Dữ liệu sự kiện

  • ổ cắm web

trên ("công nhân")

Đã thêm vào. v1. 8 trang. trên ("công nhân")

Được phát ra khi một WebWorker chuyên dụng được sinh ra bởi trang

Cách sử dụng

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
3

Dữ liệu sự kiện

  • Người làm việc

phương pháp

add_init_script

Đã thêm vào. v1. 8 trang. add_init_script

Thêm tập lệnh sẽ được đánh giá theo một trong các trường hợp sau

  • Bất cứ khi nào trang được điều hướng
  • Bất cứ khi nào khung con được đính kèm hoặc điều hướng. Trong trường hợp này, tập lệnh được đánh giá trong ngữ cảnh của khung mới được đính kèm

Tập lệnh được đánh giá sau khi tài liệu được tạo nhưng trước khi bất kỳ tập lệnh nào của nó được chạy. Điều này rất hữu ích để sửa đổi môi trường JavaScript, e. g. gieo hạt

page.once("load", lambda: print("page loaded!"))
13

Cách sử dụng

Một ví dụ về ghi đè

page.once("load", lambda: print("page loaded!"))
13 trước khi tải trang

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
4

  • Đồng bộ hóa
  • Không đồng bộ

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
5

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
6

Ghi chú

Thứ tự đánh giá nhiều tập lệnh được cài đặt thông qua và không được xác định

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    15 [, pathlib. Đường dẫn] (tùy chọn)

    Đường dẫn đến tệp JavaScript. Nếu

    page.once("load", lambda: print("page loaded!"))
    15 là một đường dẫn tương đối, thì nó được giải quyết tương ứng với thư mục làm việc hiện tại. Không bắt buộc

  • page.once("load", lambda: print("page loaded!"))
    17 (tùy chọn)

    Tập lệnh được đánh giá trong tất cả các trang trong ngữ cảnh trình duyệt. Không bắt buộc


add_script_tag

Đã thêm vào. v1. 8 trang. add_script_tag

Thêm thẻ

page.once("load", lambda: print("page loaded!"))
18 vào trang có url hoặc nội dung mong muốn. Trả về thẻ đã thêm khi quá trình tải của tập lệnh kích hoạt hoặc khi nội dung tập lệnh được đưa vào khung

Cách sử dụng

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
7

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    19 (tùy chọn)

    Nội dung JavaScript thô sẽ được đưa vào khung

  • page.once("load", lambda: print("page loaded!"))
    15 [, pathlib. Đường dẫn] (tùy chọn)

    Đường dẫn đến tệp JavaScript sẽ được đưa vào khung. Nếu

    page.once("load", lambda: print("page loaded!"))
    15 là một đường dẫn tương đối, thì nó được giải quyết tương ứng với thư mục làm việc hiện tại

  • page.once("load", lambda: print("page loaded!"))
    22 (tùy chọn)

    loại kịch bản. Sử dụng 'mô-đun' để tải mô-đun Javascript ES6. Xem kịch bản để biết thêm chi tiết

  • page.once("load", lambda: print("page loaded!"))
    23 (tùy chọn)

    URL của tập lệnh sẽ được thêm vào

trả lại

  • Yếu tốXử lý

thêm_style_tag

Đã thêm vào. v1. 8 trang. thêm_style_tag

Thêm thẻ

page.once("load", lambda: print("page loaded!"))
24 vào trang có url mong muốn hoặc thẻ
page.once("load", lambda: print("page loaded!"))
25 có nội dung. Trả về thẻ đã thêm khi quá trình tải của biểu định kiểu kích hoạt hoặc khi nội dung CSS được đưa vào khung

Cách sử dụng

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
8

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    19 (tùy chọn)

    Nội dung CSS thô sẽ được đưa vào khung

  • page.once("load", lambda: print("page loaded!"))
    15 [, pathlib. Đường dẫn] (tùy chọn)

    Đường dẫn đến tệp CSS sẽ được đưa vào khung. Nếu

    page.once("load", lambda: print("page loaded!"))
    15 là một đường dẫn tương đối, thì nó được giải quyết tương ứng với thư mục làm việc hiện tại

  • page.once("load", lambda: print("page loaded!"))
    23 (tùy chọn)

    URL của thẻ

    page.once("load", lambda: print("page loaded!"))
    30

trả lại

  • Yếu tốXử lý

mang ra phía trước

Đã thêm vào. v1. 8 trang. mang ra phía trước

Đưa trang lên phía trước (kích hoạt tab)

Cách sử dụng

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
9


đóng lại

Đã thêm vào. v1. 8 trang. gần

Nếu

page.once("load", lambda: print("page loaded!"))
31 là
page.once("load", lambda: print("page loaded!"))
32, không chạy bất kỳ trình xử lý dỡ tải nào và đợi đóng trang. Nếu
page.once("load", lambda: print("page loaded!"))
31 là
page.once("load", lambda: print("page loaded!"))
34, phương thức sẽ chạy trình xử lý dỡ tải, nhưng sẽ không đợi trang đóng lại

Theo mặc định,

page.once("load", lambda: print("page loaded!"))
35 không chạy trình xử lý
page.once("load", lambda: print("page loaded!"))
02

Ghi chú

nếu

page.once("load", lambda: print("page loaded!"))
31 được chuyển thành true, hộp thoại
page.once("load", lambda: print("page loaded!"))
02 có thể được triệu tập và phải được xử lý thủ công thông qua sự kiện

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
00

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    31 bool (tùy chọn)

    Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32. Có chạy trình xử lý trang trước khi tải xuống hay không


Nội dung

Đã thêm vào. v1. 8 trang. Nội dung

Nhận toàn bộ nội dung HTML của trang, bao gồm cả loại tài liệu

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
01

trả lại


bối cảnh

Đã thêm vào. v1. 8 trang. bối cảnh

Nhận bối cảnh trình duyệt mà trang thuộc về

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
02

trả lại

  • Trình duyệtBối cảnh

kéo và thả

Đã thêm vào. v1. 13 trang. kéo và thả

Phương thức này kéo phần tử nguồn đến phần tử đích. Đầu tiên, nó sẽ di chuyển đến phần tử nguồn, thực hiện ________ 741, sau đó di chuyển đến phần tử đích và thực hiện ________ 742

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
03

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
04

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    43

    Một bộ chọn để tìm kiếm một phần tử để kéo. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    44

    Một bộ chọn để tìm kiếm một phần tử để thả vào. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    45 bool (tùy chọn)

    Có bỏ qua kiểm tra khả năng hành động hay không. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    49 (tùy chọn) Đã thêm vào. v1. 14

    • page.once("load", lambda: print("page loaded!"))
      50
    • page.once("load", lambda: print("page loaded!"))
      51

    Nhấp vào phần tử nguồn tại thời điểm này so với góc trên cùng bên trái của hộp đệm của phần tử. Nếu không được chỉ định, một số điểm có thể nhìn thấy của phần tử được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    53 (tùy chọn) Đã thêm vào. v1. 14

    • page.once("load", lambda: print("page loaded!"))
      50
    • page.once("load", lambda: print("page loaded!"))
      51

    Giảm phần tử đích tại thời điểm này so với góc trên cùng bên trái của hộp đệm của phần tử. Nếu không được chỉ định, một số điểm có thể nhìn thấy của phần tử được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

  • page.once("load", lambda: print("page loaded!"))
    58 bool (tùy chọn)

    Khi được đặt, phương thức này chỉ thực hiện kiểm tra khả năng hành động và bỏ qua hành động. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32. Hữu ích để đợi cho đến khi phần tử sẵn sàng cho hành động mà không thực hiện nó


thi đua_media

Đã thêm vào. v1. 8 trang. thi đua_media

Phương pháp này thay đổi đối số

page.once("load", lambda: print("page loaded!"))
60 thông qua đối số
page.once("load", lambda: print("page loaded!"))
61 và/hoặc tính năng phương tiện
page.once("load", lambda: print("page loaded!"))
62, sử dụng đối số
page.once("load", lambda: print("page loaded!"))
63

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
05

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
06

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
07

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
08

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    64 "ánh sáng". "tối". "không ưu tiên". "null" (tùy chọn) Đã thêm vào. v1. 9

    Mô phỏng tính năng phương tiện

    page.once("load", lambda: print("page loaded!"))
    62, các giá trị được hỗ trợ là
    page.once("load", lambda: print("page loaded!"))
    66,
    page.once("load", lambda: print("page loaded!"))
    67,
    page.once("load", lambda: print("page loaded!"))
    68. Vượt qua
    page.once("load", lambda: print("page loaded!"))
    69 sẽ vô hiệu hóa mô phỏng phối màu

  • page.once("load", lambda: print("page loaded!"))
    70 "đang hoạt động". "không ai". "null" (tùy chọn) Đã thêm vào. v1. 15

  • page.once("load", lambda: print("page loaded!"))
    61 "màn hình". "in". "null" (tùy chọn) Đã thêm vào. v1. 9

    Thay đổi loại phương tiện CSS của trang. Các giá trị được phép duy nhất là

    page.once("load", lambda: print("page loaded!"))
    72,
    page.once("load", lambda: print("page loaded!"))
    73 và
    page.once("load", lambda: print("page loaded!"))
    69. Vượt qua
    page.once("load", lambda: print("page loaded!"))
    69 sẽ vô hiệu hóa mô phỏng phương tiện CSS

  • page.once("load", lambda: print("page loaded!"))
    76 "giảm". "không ưu tiên". "null" (tùy chọn) Đã thêm vào. v1. 12

    Mô phỏng tính năng phương tiện

    page.once("load", lambda: print("page loaded!"))
    77, các giá trị được hỗ trợ là
    page.once("load", lambda: print("page loaded!"))
    78,
    page.once("load", lambda: print("page loaded!"))
    68. Vượt qua
    page.once("load", lambda: print("page loaded!"))
    80 sẽ vô hiệu hóa mô phỏng chuyển động giảm


đánh giá

Đã thêm vào. v1. 8 trang. đánh giá

Trả về giá trị của lệnh gọi

page.once("load", lambda: print("page loaded!"))
81

Nếu hàm được chuyển đến trả về một Lời hứa, thì sẽ đợi lời hứa giải quyết và trả về giá trị của nó

Nếu hàm được chuyển đến trả về một giá trị không, thì sẽ phân giải thành

page.once("load", lambda: print("page loaded!"))
82. Nhà viết kịch cũng hỗ trợ chuyển một số giá trị bổ sung không thể tuần tự hóa bởi
page.once("load", lambda: print("page loaded!"))
83. ________ 784, ________ 785, ________ 786, ________ 787

Cách sử dụng

Truyền đối số cho

page.once("load", lambda: print("page loaded!"))
81

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
09

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
50

Một chuỗi cũng có thể được truyền vào thay vì một hàm

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
51

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
52

Các phiên bản ElementHandle có thể được truyền dưới dạng đối số cho

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
53

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
54

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    81

    Biểu thức JavaScript được đánh giá trong ngữ cảnh trình duyệt. Nếu biểu thức đánh giá một hàm, thì hàm đó sẽ tự động được gọi

  • page.once("load", lambda: print("page loaded!"))
    90 (tùy chọn)

    Đối số tùy chọn để chuyển đến

    page.once("load", lambda: print("page loaded!"))
    81

trả lại


đánh giá_handle

Đã thêm vào. v1. 8 trang. đánh giá_handle

Trả về giá trị của lệnh gọi

page.once("load", lambda: print("page loaded!"))
81 dưới dạng JSHandle

Sự khác biệt duy nhất giữa và là trả về JSHandle

Nếu hàm được chuyển đến trả về một Lời hứa, thì sẽ đợi lời hứa giải quyết và trả về giá trị của nó

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
55

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
56

Một chuỗi cũng có thể được truyền vào thay vì một hàm

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
57

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
58

Các phiên bản JSHandle có thể được truyền dưới dạng đối số cho

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
59

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
60

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    81

    Biểu thức JavaScript được đánh giá trong ngữ cảnh trình duyệt. Nếu biểu thức đánh giá một hàm, thì hàm đó sẽ tự động được gọi

  • page.once("load", lambda: print("page loaded!"))
    90 (tùy chọn)

    Đối số tùy chọn để chuyển đến

    page.once("load", lambda: print("page loaded!"))
    81

trả lại

  • JSHandle

mong đợi_console_message

Đã thêm vào. v1. 9 trang. mong đợi_console_message

Thực hiện hành động và đợi một ConsoleMessage được đăng nhập trên trang. Nếu vị ngữ được cung cấp, nó sẽ chuyển giá trị ConsoleMessage vào hàm

page.once("load", lambda: print("page loaded!"))
96 và đợi
page.once("load", lambda: print("page loaded!"))
97 trả về giá trị trung thực. Sẽ báo lỗi nếu trang bị đóng trước khi sự kiện được kích hoạt

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
61

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    96 [Tin nhắn bảng điều khiển]. bool (tùy chọn)

    Nhận đối tượng ConsoleMessage và phân giải thành giá trị trung thực khi chờ đợi sẽ giải quyết

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây. Mặc định là

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    00 (30 giây). Vượt qua
    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng

trả lại

  • [Tin nhắn bảng điều khiển]

mong đợi_download

Đã thêm vào. v1. 9 trang. mong đợi_download

Thực hiện hành động và chờ Tải xuống mới. Nếu vị ngữ được cung cấp, nó sẽ chuyển giá trị Tải xuống vào hàm

page.once("load", lambda: print("page loaded!"))
96 và đợi
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
03 trả về giá trị trung thực. Sẽ báo lỗi nếu trang bị đóng trước khi sự kiện tải xuống được kích hoạt

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
62

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    96 [Tải xuống]. bool (tùy chọn)

    Nhận đối tượng Tải xuống và phân giải thành giá trị trung thực khi chờ đợi sẽ giải quyết

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây. Mặc định là

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    00 (30 giây). Vượt qua
    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng

trả lại

  • [Tải xuống]

mong đợi_event

Đã thêm vào. v1. 8 trang. mong đợi_event

Đợi sự kiện kích hoạt và chuyển giá trị của nó vào hàm vị ngữ. Trả về khi vị ngữ trả về giá trị trung thực. Sẽ báo lỗi nếu trang bị đóng trước khi sự kiện được kích hoạt. Trả về giá trị dữ liệu sự kiện

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
63

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
64

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    08

    Tên sự kiện, cùng một tên thường được chuyển vào

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    09

  • page.once("load", lambda: print("page loaded!"))
    96 (tùy chọn)

    Nhận dữ liệu sự kiện và phân giải thành giá trị trung thực khi chờ đợi sẽ giải quyết

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây. Mặc định là

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    00 (30 giây). Vượt qua
    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng

trả lại


mong đợi_file_chooser

Đã thêm vào. v1. 9 trang. mong đợi_file_chooser

Thực hiện hành động và đợi FileChooser mới được tạo. Nếu vị ngữ được cung cấp, nó sẽ chuyển giá trị FileChooser vào hàm

page.once("load", lambda: print("page loaded!"))
96 và đợi
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
15 trả về giá trị trung thực. Sẽ báo lỗi nếu trang bị đóng trước khi bộ chọn tệp được mở

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
65

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    96 [Trình chọn tệp]. bool (tùy chọn)

    Nhận đối tượng FileChooser và phân giải thành giá trị trung thực khi chờ đợi sẽ giải quyết

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây. Mặc định là

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    00 (30 giây). Vượt qua
    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng

trả lại

  • [Trình chọn tệp]

mong đợi_navigation

Đã thêm vào. v1. 8 trang. mong đợi_navigation

Đợi điều hướng khung chính và trả về phản hồi tài nguyên chính. Trong trường hợp có nhiều lần chuyển hướng, điều hướng sẽ giải quyết với phản hồi của lần chuyển hướng cuối cùng. Trong trường hợp điều hướng đến một neo hoặc điều hướng khác do sử dụng API Lịch sử, điều hướng sẽ giải quyết bằng

page.once("load", lambda: print("page loaded!"))
80

Cách sử dụng

Điều này giải quyết khi trang điều hướng đến một URL mới hoặc tải lại. Nó hữu ích khi bạn chạy mã, điều này sẽ gián tiếp khiến trang điều hướng. e. g. Mục tiêu nhấp chuột có trình xử lý

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
21 kích hoạt điều hướng từ một
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
22. Hãy xem xét ví dụ này

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
66

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
67

Ghi chú

Việc sử dụng API lịch sử để thay đổi URL được coi là điều hướng

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian hoạt động tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức , , hoặc

  • page.once("load", lambda: print("page loaded!"))
    23. Mẫu. [URL]. bool (tùy chọn)

    Mẫu hình cầu, mẫu biểu thức chính quy hoặc vị từ nhận URL để khớp trong khi chờ điều hướng. Lưu ý rằng nếu tham số là một chuỗi không có ký tự đại diện, phương thức sẽ đợi điều hướng đến URL chính xác bằng chuỗi

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    26 "tải". "domcontentloaded". "mạng lưới". "cam kết" (tùy chọn)

    Khi xem xét hoạt động đã thành công, mặc định là

    import asyncio
    from playwright.async_api import async_playwright

    async def run(playwright):
    webkit = playwright.webkit
    browser = await webkit.launch()
    context = await browser.new_context()
    page = await context.new_page()
    await page.goto("https://example.com")
    await page.screenshot(path="screenshot.png")
    await browser.close()

    async def main():
    async with async_playwright() as playwright:
    await run(playwright)
    asyncio.run(main())
    93. Sự kiện có thể là một trong hai

    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      28 - xem xét hoạt động kết thúc khi sự kiện
      page.once("load", lambda: print("page loaded!"))
      03 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      30 - xem xét hoạt động kết thúc khi sự kiện
      import asyncio
      from playwright.async_api import async_playwright

      async def run(playwright):
      webkit = playwright.webkit
      browser = await webkit.launch()
      context = await browser.new_context()
      page = await context.new_page()
      await page.goto("https://example.com")
      await page.screenshot(path="screenshot.png")
      await browser.close()

      async def main():
      async with async_playwright() as playwright:
      await run(playwright)
      asyncio.run(main())
      93 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      32 - xem xét hoạt động kết thúc khi không có kết nối mạng trong ít nhất
      def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      33 mili giây
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      34 - xem xét hoạt động kết thúc khi nhận được phản hồi mạng và tài liệu bắt đầu tải

trả lại

  • [Phản ứng]

mong đợi_popup

Đã thêm vào. v1. 9 trang. mong đợi_popup

Thực hiện hành động và đợi Trang bật lên. Nếu vị ngữ được cung cấp, nó sẽ chuyển giá trị [Popup] vào hàm

page.once("load", lambda: print("page loaded!"))
96 và đợi
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
36 trả về giá trị trung thực. Sẽ báo lỗi nếu trang bị đóng trước khi sự kiện bật lên được kích hoạt

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
68

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    96 [Trang]. bool (tùy chọn)

    Nhận đối tượng Trang và phân giải thành giá trị trung thực khi chờ đợi sẽ giải quyết

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây. Mặc định là

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    00 (30 giây). Vượt qua
    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng

trả lại

  • [Trang]

mong_request

Đã thêm vào. v1. 8 trang. mong_request

Chờ yêu cầu phù hợp và trả lại nó. Xem để biết thêm chi tiết về các sự kiện

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
69

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
70

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    41. Mẫu. [Yêu cầu]. bool

    Chuỗi URL yêu cầu, biểu thức chính quy hoặc vị từ nhận đối tượng Yêu cầu. Khi một

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    42 thông qua các tùy chọn ngữ cảnh được cung cấp và URL được truyền là một đường dẫn, nó sẽ được hợp nhất thông qua hàm tạo
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    43

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng phương thức

trả lại

  • [Yêu cầu]

mong đợi_request_finished

Đã thêm vào. v1. 12 trang. mong đợi_request_finished

Thực hiện hành động và đợi Yêu cầu tải xong. Nếu vị ngữ được cung cấp, nó sẽ chuyển giá trị Yêu cầu vào hàm

page.once("load", lambda: print("page loaded!"))
96 và đợi
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
47 trả về giá trị trung thực. Sẽ báo lỗi nếu trang bị đóng trước khi sự kiện được kích hoạt

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
71

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    96 [Yêu cầu]. bool (tùy chọn)

    Nhận đối tượng Yêu cầu và giải quyết thành giá trị trung thực khi việc chờ đợi sẽ giải quyết

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây. Mặc định là

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    00 (30 giây). Vượt qua
    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng

trả lại

  • [Yêu cầu]

mong đợi_response

Đã thêm vào. v1. 8 trang. mong đợi_response

Trả về phản hồi phù hợp. Xem để biết thêm chi tiết về các sự kiện

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
72

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
73

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    41. Mẫu. [Phản ứng]. bool

    Yêu cầu chuỗi URL, biểu thức chính quy hoặc vị từ nhận đối tượng Phản hồi. Khi một

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    42 thông qua các tùy chọn ngữ cảnh được cung cấp và URL được truyền là một đường dẫn, nó sẽ được hợp nhất thông qua hàm tạo
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    43

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại

  • [Phản ứng]

mong đợi_websocket

Đã thêm vào. v1. 9 trang. mong đợi_websocket

Thực hiện hành động và đợi một WebSocket mới. Nếu vị ngữ được cung cấp, nó sẽ chuyển giá trị WebSocket vào hàm

page.once("load", lambda: print("page loaded!"))
96 và đợi
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
58 trả về giá trị trung thực. Sẽ báo lỗi nếu trang bị đóng trước khi sự kiện WebSocket được kích hoạt

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
74

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    96 [WebSocket]. bool (tùy chọn)

    Nhận đối tượng WebSocket và phân giải thành giá trị trung thực khi chờ đợi sẽ giải quyết

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây. Mặc định là

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    00 (30 giây). Vượt qua
    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng

trả lại

  • [WebSocket]

mong_worker

Đã thêm vào. v1. 9 trang. mong_worker

Thực hiện hành động và chờ Worker mới. Nếu vị ngữ được cung cấp, nó sẽ chuyển giá trị Worker vào hàm

page.once("load", lambda: print("page loaded!"))
96 và đợi
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
64 trả về giá trị trung thực. Sẽ báo lỗi nếu trang bị đóng trước khi sự kiện worker được kích hoạt

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
75

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    96 [Công nhân]. bool (tùy chọn)

    Nhận đối tượng Công nhân và giải quyết thành giá trị trung thực khi chờ đợi sẽ giải quyết

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây. Mặc định là

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    00 (30 giây). Vượt qua
    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng

trả lại

  • [Người làm việc]

phơi bày_binding

Đã thêm vào. v1. 8 trang. phơi bày_binding

Phương pháp này thêm một chức năng gọi là

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
69 trên đối tượng
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
70 của mọi khung hình trong trang này. Khi được gọi, hàm thực thi
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
71 và trả về một Lời hứa giải quyết thành giá trị trả về là
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
71. Nếu
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
71 trả lại một Lời hứa, nó sẽ được chờ đợi

Đối số đầu tiên của hàm

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
71 chứa thông tin về người gọi.
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
75

Xem phiên bản toàn ngữ cảnh

Ghi chú

Các chức năng được cài đặt thông qua điều hướng tồn tại

Cách sử dụng

Một ví dụ về hiển thị URL trang cho tất cả các khung trong một trang

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
76

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
77

Một ví dụ về việc chuyển một phần tử xử lý

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
78

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
79

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    69

    Tên của chức năng trên đối tượng cửa sổ

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    71

    Chức năng gọi lại sẽ được gọi trong ngữ cảnh của Playwright

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    78 bool (tùy chọn)

    Có chuyển đối số dưới dạng xử lý hay không, thay vì chuyển theo giá trị. Khi chuyển một điều khiển, chỉ có một đối số được hỗ trợ. Khi truyền theo giá trị, nhiều đối số được hỗ trợ


lộ_chức năng

Đã thêm vào. v1. 8 trang. lộ_chức năng

Phương thức này thêm một chức năng có tên là

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
69 trên đối tượng
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
70 của mọi khung hình trong trang. Khi được gọi, hàm thực thi
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
71 và trả về một Lời hứa giải quyết thành giá trị trả về là
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
71

Nếu

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
71 trả lại một Lời hứa, nó sẽ được chờ đợi

Xem chức năng tiếp xúc trên toàn ngữ cảnh

Ghi chú

Các chức năng được cài đặt thông qua điều hướng tồn tại

Cách sử dụng

Một ví dụ về việc thêm hàm

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
84 vào trang

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
80

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
81

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    69

    Tên của chức năng trên đối tượng cửa sổ

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    71

    Hàm gọi lại sẽ được gọi trong ngữ cảnh của Playwright


khung

Đã thêm vào. v1. 8 trang. khung

Trả về khung khớp với tiêu chí đã chỉ định. Phải chỉ định

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
69 hoặc
page.once("load", lambda: print("page loaded!"))
23

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
82

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
83

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    69 (tùy chọn)

    Tên khung được chỉ định trong thuộc tính

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    69 của
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    90. Không bắt buộc

  • page.once("load", lambda: print("page loaded!"))
    23. Mẫu. [URL]. bool (tùy chọn)

    Mẫu hình cầu, mẫu biểu thức chính quy hoặc biến vị ngữ nhận khung của

    page.once("load", lambda: print("page loaded!"))
    23 dưới dạng đối tượng URL. Không bắt buộc

trả lại

  • Khung

frame_locator

Đã thêm vào. v1. 17 trang. frame_locator

Khi làm việc với iframe, bạn có thể tạo bộ định vị khung sẽ nhập iframe và cho phép chọn các thành phần trong iframe đó

Cách sử dụng

Đoạn mã sau định vị phần tử có văn bản "Gửi" trong iframe có id

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
94, chẳng hạn như
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
95

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
84

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
85

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Bộ chọn để sử dụng khi giải quyết phần tử DOM

trả lại

  • KhungLocator

khung

Đã thêm vào. v1. 8 trang. khung

Một mảng của tất cả các khung được đính kèm vào trang

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
86

trả lại

  • [Khung]

get_by_alt_text

Đã thêm vào. v1. 27 trang. get_by_alt_text

Cho phép định vị các phần tử bằng văn bản thay thế của chúng. Ví dụ: phương pháp này sẽ tìm hình ảnh bằng văn bản thay thế "Castle"

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
87

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
88

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    97. Mẫu

    Văn bản để định vị phần tử cho

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    98 bool (tùy chọn)

    Cho dù để tìm một trận đấu chính xác. phân biệt chữ hoa chữ thường và toàn bộ chuỗi. Mặc định là sai. Bị bỏ qua khi định vị bằng biểu thức chính quy. Lưu ý rằng đối sánh chính xác vẫn cắt khoảng trắng

trả lại

  • định vị

lấy_by_nhãn

Đã thêm vào. v1. 27 trang. lấy_by_nhãn

Cho phép định vị các phần tử đầu vào bằng văn bản của nhãn được liên kết. Ví dụ: phương pháp này sẽ tìm đầu vào bằng văn bản nhãn "Mật khẩu" trong DOM sau

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
89

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
90

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    97. Mẫu

    Văn bản để định vị phần tử cho

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    98 bool (tùy chọn)

    Cho dù để tìm một trận đấu chính xác. phân biệt chữ hoa chữ thường và toàn bộ chuỗi. Mặc định là sai. Bị bỏ qua khi định vị bằng biểu thức chính quy. Lưu ý rằng đối sánh chính xác vẫn cắt khoảng trắng

trả lại

  • định vị

get_by_placeholder

Đã thêm vào. v1. 27 trang. get_by_placeholder

Cho phép định vị các phần tử đầu vào bằng văn bản giữ chỗ. Ví dụ: phương thức này sẽ tìm đầu vào theo trình giữ chỗ "Quốc gia"

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
91

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
92

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    97. Mẫu

    Văn bản để định vị phần tử cho

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    98 bool (tùy chọn)

    Cho dù để tìm một trận đấu chính xác. phân biệt chữ hoa chữ thường và toàn bộ chuỗi. Mặc định là sai. Bị bỏ qua khi định vị bằng biểu thức chính quy. Lưu ý rằng đối sánh chính xác vẫn cắt khoảng trắng

trả lại

  • định vị

get_by_role

Đã thêm vào. v1. 27 trang. get_by_role

Cho phép định vị các phần tử theo , và. Lưu ý rằng bộ chọn vai trò không thay thế kiểm tra khả năng truy cập và kiểm tra sự tuân thủ, mà thay vào đó đưa ra phản hồi sớm về nguyên tắc ARIA

Lưu ý rằng nhiều phần tử html có một phần tử ngầm được bộ chọn vai trò nhận ra. Bạn có thể tìm thấy tất cả các. Nguyên tắc ARIA không khuyến nghị sao chép vai trò và thuộc tính ngầm định bằng cách đặt thuộc tính

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
003 và/hoặc
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
004 thành giá trị mặc định

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
93

Tranh luận

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    003 "cảnh báo". "hộp thoại cảnh báo". "đăng kí". "mạo từ". "Ảnh bìa". "trích dẫn khối". "cái nút". "đầu đề". "tế bào". "hộp kiểm". "mã số". "đầu cột". "hộp tổ hợp". "bổ túc". "thông tin nội dung". "Định nghĩa". "xóa". "hộp thoại". "danh mục". "tài liệu". "nhấn mạnh". "cho ăn". "nhân vật". "mẫu đơn". "chung". "lưới". "Ô lưới". "tập đoàn". "phần mở đầu". "img". "chèn". "liên kết". "danh sách". "hộp danh sách". "danh sách". "nhật ký". "chủ yếu". "lều". "môn Toán". "Mét". "thực đơn". "thanh menu". "thực đơn". "hộp kiểm menuem". "đài phát thanh". "dẫn đường". "không ai". "Ghi chú". "Tùy chọn". "đoạn văn". "bài thuyết trình". "thanh tiến trình". "Đài". "nhóm đài phát thanh". "khu vực". "hàng ngang". "nhóm chèo". "người chèo thuyền". "thanh cuộn". "Tìm kiếm". "hộp tìm kiếm". "dấu phân cách". "thanh trượt". "nút quay". "trạng thái". "mạnh". "chỉ số". "chỉ số trên". "công tắc điện". "chuyển hướng". "cái bàn". "bảng". "bảng điều khiển". "kỳ hạn". "hộp văn bản". "thời gian". "hẹn giờ". "thanh công cụ". "chú giải công cụ". "cây". "lưới cây". "cây"

    Vai trò aria bắt buộc

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    006 bool (tùy chọn)

    Một thuộc tính thường được đặt bởi các điều khiển

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    007 hoặc
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    008 gốc

    Học nhiều hơn về

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    010 bool (tùy chọn)

    Một thuộc tính thường được thiết lập bởi

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    011 hoặc
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    010

    Ghi chú

    Không giống như hầu hết các thuộc tính khác,

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    010 được kế thừa thông qua hệ thống phân cấp DOM. Học nhiều hơn về

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    98 bool (tùy chọn) Đã thêm vào. v1. 28

    Liệu

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    69 có khớp chính xác hay không. phân biệt chữ hoa chữ thường và toàn bộ chuỗi. Mặc định là sai. Bị bỏ qua khi
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    69 là một biểu thức chính quy. Lưu ý rằng đối sánh chính xác vẫn cắt khoảng trắng

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    018 bool (tùy chọn)

    Một thuộc tính thường được đặt bởi

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    019

    Học nhiều hơn về

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    021 bool (tùy chọn)

    Tùy chọn kiểm soát xem các phần tử ẩn có khớp hay không. Theo mặc định, chỉ các phần tử không bị ẩn, as , mới được khớp với bộ chọn vai trò

    Học nhiều hơn về

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    023 (tùy chọn)

    Một thuộc tính số thường có cho các vai trò

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    024,
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    025,
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    026,
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    027, với các giá trị mặc định cho các phần tử
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    028

    Học nhiều hơn về

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    69. Hoa văn (tùy chọn)

    Tùy chọn để phù hợp với. Theo mặc định, so khớp không phân biệt chữ hoa chữ thường và tìm kiếm chuỗi con, hãy sử dụng

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    98 để kiểm soát hành vi này

    Học nhiều hơn về

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    032 bool (tùy chọn)

    Một thuộc tính thường được thiết lập bởi

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    033

    Học nhiều hơn về

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    035 bool (tùy chọn)

    Một thuộc tính thường được thiết lập bởi

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    036

    Học nhiều hơn về

trả lại

  • định vị

get_by_test_id

Đã thêm vào. v1. 27 trang. get_by_test_id

Xác định vị trí phần tử theo id kiểm tra. Theo mặc định, thuộc tính

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
038 được sử dụng làm id thử nghiệm. Sử dụng để định cấu hình thuộc tính id kiểm tra khác nếu cần

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
94

Tranh luận

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    039. Mẫu

    Id để định vị phần tử theo

trả lại

  • định vị

get_by_text

Đã thêm vào. v1. 27 trang. get_by_text

Cho phép định vị các phần tử chứa văn bản đã cho. Hãy xem xét cấu trúc DOM sau

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
95

Bạn có thể định vị theo chuỗi con văn bản, chuỗi chính xác hoặc biểu thức chính quy

  • Đồng bộ hóa
  • Không đồng bộ

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
96

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
96

Xem thêm cho phép khớp theo tiêu chí khác, chẳng hạn như vai trò có thể truy cập, sau đó lọc theo nội dung văn bản

Ghi chú

So khớp theo văn bản luôn chuẩn hóa khoảng trắng, ngay cả khi khớp chính xác. Ví dụ: nó biến nhiều khoảng trắng thành một, biến ngắt dòng thành khoảng trắng và bỏ qua khoảng trắng ở đầu và cuối

Ghi chú

Các phần tử đầu vào thuộc loại

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
040 và
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
041 được khớp với
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
042 của chúng thay vì nội dung văn bản. Ví dụ: định vị bằng văn bản
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
043 khớp với
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
044

Cách sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
98

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    97. Mẫu

    Văn bản để định vị phần tử cho

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    98 bool (tùy chọn)

    Cho dù để tìm một trận đấu chính xác. phân biệt chữ hoa chữ thường và toàn bộ chuỗi. Mặc định là sai. Bị bỏ qua khi định vị bằng biểu thức chính quy. Lưu ý rằng đối sánh chính xác vẫn cắt khoảng trắng

trả lại

  • định vị

get_by_title

Đã thêm vào. v1. 27 trang. get_by_title

Cho phép định vị các phần tử theo tiêu đề của chúng. Ví dụ: phương thức này sẽ tìm nút theo tiêu đề "Đặt hàng"

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
99

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
00

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    97. Mẫu

    Văn bản để định vị phần tử cho

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    98 bool (tùy chọn)

    Cho dù để tìm một trận đấu chính xác. phân biệt chữ hoa chữ thường và toàn bộ chuỗi. Mặc định là sai. Bị bỏ qua khi định vị bằng biểu thức chính quy. Lưu ý rằng đối sánh chính xác vẫn cắt khoảng trắng

trả lại

  • định vị

quay lại

Đã thêm vào. v1. 8 trang. quay lại

Trả về phản hồi tài nguyên chính. Trong trường hợp có nhiều lần chuyển hướng, điều hướng sẽ giải quyết với phản hồi của lần chuyển hướng cuối cùng. Nếu không thể quay lại, hãy trả lại

page.once("load", lambda: print("page loaded!"))
80

Điều hướng đến trang trước trong lịch sử

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
01

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian hoạt động tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức , , hoặc

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    26 "tải". "domcontentloaded". "mạng lưới". "cam kết" (tùy chọn)

    Khi xem xét hoạt động đã thành công, mặc định là

    import asyncio
    from playwright.async_api import async_playwright

    async def run(playwright):
    webkit = playwright.webkit
    browser = await webkit.launch()
    context = await browser.new_context()
    page = await context.new_page()
    await page.goto("https://example.com")
    await page.screenshot(path="screenshot.png")
    await browser.close()

    async def main():
    async with async_playwright() as playwright:
    await run(playwright)
    asyncio.run(main())
    93. Sự kiện có thể là một trong hai

    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      28 - xem xét hoạt động kết thúc khi sự kiện
      page.once("load", lambda: print("page loaded!"))
      03 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      30 - xem xét hoạt động kết thúc khi sự kiện
      import asyncio
      from playwright.async_api import async_playwright

      async def run(playwright):
      webkit = playwright.webkit
      browser = await webkit.launch()
      context = await browser.new_context()
      page = await context.new_page()
      await page.goto("https://example.com")
      await page.screenshot(path="screenshot.png")
      await browser.close()

      async def main():
      async with async_playwright() as playwright:
      await run(playwright)
      asyncio.run(main())
      93 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      32 - xem xét hoạt động kết thúc khi không có kết nối mạng trong ít nhất
      def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      33 mili giây
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      34 - xem xét hoạt động kết thúc khi nhận được phản hồi mạng và tài liệu bắt đầu tải

trả lại

  • Phản ứng

tiến triển

Đã thêm vào. v1. 8 trang. tiến triển

Trả về phản hồi tài nguyên chính. Trong trường hợp có nhiều lần chuyển hướng, điều hướng sẽ giải quyết với phản hồi của lần chuyển hướng cuối cùng. Nếu không thể đi tiếp, trả về

page.once("load", lambda: print("page loaded!"))
80

Điều hướng đến trang tiếp theo trong lịch sử

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
02

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian hoạt động tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức , , hoặc

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    26 "tải". "domcontentloaded". "mạng lưới". "cam kết" (tùy chọn)

    Khi xem xét hoạt động đã thành công, mặc định là

    import asyncio
    from playwright.async_api import async_playwright

    async def run(playwright):
    webkit = playwright.webkit
    browser = await webkit.launch()
    context = await browser.new_context()
    page = await context.new_page()
    await page.goto("https://example.com")
    await page.screenshot(path="screenshot.png")
    await browser.close()

    async def main():
    async with async_playwright() as playwright:
    await run(playwright)
    asyncio.run(main())
    93. Sự kiện có thể là một trong hai

    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      28 - xem xét hoạt động kết thúc khi sự kiện
      page.once("load", lambda: print("page loaded!"))
      03 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      30 - xem xét hoạt động kết thúc khi sự kiện
      import asyncio
      from playwright.async_api import async_playwright

      async def run(playwright):
      webkit = playwright.webkit
      browser = await webkit.launch()
      context = await browser.new_context()
      page = await context.new_page()
      await page.goto("https://example.com")
      await page.screenshot(path="screenshot.png")
      await browser.close()

      async def main():
      async with async_playwright() as playwright:
      await run(playwright)
      asyncio.run(main())
      93 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      32 - xem xét hoạt động kết thúc khi không có kết nối mạng trong ít nhất
      def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      33 mili giây
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      34 - xem xét hoạt động kết thúc khi nhận được phản hồi mạng và tài liệu bắt đầu tải

trả lại

  • Phản ứng

đi đến

Đã thêm vào. v1. 8 trang. đi đến

Trả về phản hồi tài nguyên chính. Trong trường hợp có nhiều chuyển hướng, điều hướng sẽ giải quyết bằng phản hồi không chuyển hướng đầu tiên

Phương thức sẽ báo lỗi nếu

  • có lỗi SSL (e. g. trong trường hợp chứng chỉ tự ký)
  • URL mục tiêu không hợp lệ
  • page.once("load", lambda: print("page loaded!"))
    56 bị vượt quá trong quá trình điều hướng
  • máy chủ từ xa không phản hồi hoặc không thể truy cập được
  • tài nguyên chính không tải được

Phương pháp này sẽ không đưa ra lỗi khi bất kỳ mã trạng thái HTTP hợp lệ nào được máy chủ từ xa trả về, bao gồm 404 "Không tìm thấy" và 500 "Lỗi máy chủ nội bộ". Mã trạng thái cho các phản hồi như vậy có thể được lấy bằng cách gọi

Ghi chú

Phương thức này đưa ra lỗi hoặc trả về phản hồi tài nguyên chính. Các trường hợp ngoại lệ duy nhất là điều hướng đến

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
074 hoặc điều hướng đến cùng một URL với hàm băm khác, điều này sẽ thành công và trả về
page.once("load", lambda: print("page loaded!"))
80

Ghi chú

Chế độ không đầu không hỗ trợ điều hướng đến tài liệu PDF. Xem vấn đề ngược dòng

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
03

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    23

    URL để điều hướng trang đến. Url phải bao gồm lược đồ, e. g.

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    077. Khi một
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    42 thông qua các tùy chọn ngữ cảnh được cung cấp và URL được truyền là một đường dẫn, nó sẽ được hợp nhất thông qua hàm tạo
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    43

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    080 (tùy chọn)

    Giá trị tiêu đề người giới thiệu. Nếu được cung cấp, nó sẽ được ưu tiên hơn giá trị tiêu đề người giới thiệu được đặt bởi

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian hoạt động tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức , , hoặc

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    26 "tải". "domcontentloaded". "mạng lưới". "cam kết" (tùy chọn)

    Khi xem xét hoạt động đã thành công, mặc định là

    import asyncio
    from playwright.async_api import async_playwright

    async def run(playwright):
    webkit = playwright.webkit
    browser = await webkit.launch()
    context = await browser.new_context()
    page = await context.new_page()
    await page.goto("https://example.com")
    await page.screenshot(path="screenshot.png")
    await browser.close()

    async def main():
    async with async_playwright() as playwright:
    await run(playwright)
    asyncio.run(main())
    93. Sự kiện có thể là một trong hai

    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      28 - xem xét hoạt động kết thúc khi sự kiện
      page.once("load", lambda: print("page loaded!"))
      03 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      30 - xem xét hoạt động kết thúc khi sự kiện
      import asyncio
      from playwright.async_api import async_playwright

      async def run(playwright):
      webkit = playwright.webkit
      browser = await webkit.launch()
      context = await browser.new_context()
      page = await context.new_page()
      await page.goto("https://example.com")
      await page.screenshot(path="screenshot.png")
      await browser.close()

      async def main():
      async with async_playwright() as playwright:
      await run(playwright)
      asyncio.run(main())
      93 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      32 - xem xét hoạt động kết thúc khi không có kết nối mạng trong ít nhất
      def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      33 mili giây
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      34 - xem xét hoạt động kết thúc khi nhận được phản hồi mạng và tài liệu bắt đầu tải

trả lại

  • Phản ứng

được_đóng

Đã thêm vào. v1. 8 trang. được_đóng

Cho biết trang đã bị đóng

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
04

trả lại

  • bool

máy định vị

Đã thêm vào. v1. 14 trang. máy định vị

Phương thức trả về một bộ định vị phần tử có thể được sử dụng để thực hiện các hành động trên trang/khung này. Bộ định vị được phân giải thành phần tử ngay trước khi thực hiện một hành động, do đó, trên thực tế, một loạt các hành động trên cùng một bộ định vị có thể được thực hiện trên các phần tử DOM khác nhau. Điều đó sẽ xảy ra nếu cấu trúc DOM giữa các hành động đó đã thay đổi

Tìm hiểu thêm về bộ định vị

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
05

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Bộ chọn để sử dụng khi giải quyết phần tử DOM

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    093 Bộ định vị (tùy chọn)

    So khớp các phần tử chứa một phần tử khớp với bộ định vị bên trong. Bộ định vị bên trong được truy vấn đối với cái bên ngoài. Ví dụ:

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    094 có
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    095 khớp với
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    096

    Lưu ý rằng bộ định vị bên ngoài và bên trong phải thuộc cùng một khung. Bộ định vị bên trong không được chứa FrameLocators

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    097. Hoa văn (tùy chọn)

    So khớp các phần tử chứa văn bản được chỉ định ở đâu đó bên trong, có thể ở phần tử con hoặc phần tử con. Khi được truyền một [chuỗi], khớp không phân biệt chữ hoa chữ thường và tìm kiếm một chuỗi con. Ví dụ,

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    098 phù hợp với
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    096

trả lại

  • định vị

main_frame

Đã thêm vào. v1. 8 trang. main_frame

Khung chính của trang. Trang được đảm bảo có một máy tính lớn vẫn tồn tại trong quá trình điều hướng

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
06

trả lại

  • Khung

cái mở

Đã thêm vào. v1. 8 trang. cái mở

Trả về opener cho các trang bật lên và

page.once("load", lambda: print("page loaded!"))
80 cho các trang khác. Nếu dụng cụ mở đã được đóng thì lợi nhuận
page.once("load", lambda: print("page loaded!"))
80

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
07

trả lại

  • Trang

tạm ngừng

Đã thêm vào. v1. 9 trang. tạm ngừng

Tạm dừng thực thi tập lệnh. Nhà viết kịch sẽ ngừng thực thi tập lệnh và đợi người dùng nhấn nút 'Tiếp tục' trong lớp phủ trang hoặc gọi

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
502 trong bảng điều khiển DevTools

Người dùng có thể kiểm tra bộ chọn hoặc thực hiện các bước thủ công trong khi tạm dừng. Tiếp tục sẽ tiếp tục chạy tập lệnh gốc từ nơi tập lệnh đã bị tạm dừng

Ghi chú

Phương pháp này yêu cầu Playwright được bắt đầu ở chế độ đứng đầu, với giá trị falsy

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
503 trong

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
08


pdf

Đã thêm vào. v1. 8 trang. pdf

Trả về bộ đệm PDF

Ghi chú

Tạo pdf hiện chỉ được hỗ trợ trong Chromium headless

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
504 tạo bản pdf của trang bằng phương tiện css
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
505. Để tạo pdf với phương tiện
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
506, hãy gọi trước khi gọi
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
504

Ghi chú

Theo mặc định,

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
504 tạo tệp pdf với các màu đã sửa đổi để in. Sử dụng thuộc tính
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
509 để buộc hiển thị màu chính xác

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
09

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
10

Các tùy chọn

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
510,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
511 và
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
512 chấp nhận các giá trị được gắn nhãn đơn vị. Các giá trị không được gắn nhãn được coi là pixel

Một vài ví dụ

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    513 - bản in có chiều rộng được đặt thành 100 pixel
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    514 - bản in có chiều rộng được đặt thành 100 pixel
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    515 - bản in có chiều rộng được đặt thành 10 cm

Tất cả các đơn vị có thể là

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    516 - điểm ảnh
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    517 - inch
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    518 - cm
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    519 - milimét

Các tùy chọn

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
520 là

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    521. số 8. 5in x 11in
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    522. số 8. 5in x 14in
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    523. 11in x 17in
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    524. 17in x 11in
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    525. 33. 1in x 46. 8in
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    526. 23. 4in x 33. 1 trong
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    527. 16. 54in x 23. 4in
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    528. 11. 7in x 16. 54in
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    529. số 8. 27in x 11. 7in
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    530. 5. 83in x 8. 27in
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    531. 4. 13in x 5. 83in

Ghi chú

Đánh dấu

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
532 và
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
533 có những hạn chế sau. > 1. Các thẻ tập lệnh bên trong các mẫu không được đánh giá. > 2. Kiểu trang không hiển thị bên trong các mẫu

Tranh luận

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    534 bool (tùy chọn)

    Hiển thị đầu trang và chân trang. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    533 (tùy chọn)

    Mẫu HTML cho chân trang in. Nên sử dụng định dạng giống như

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    532

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    520 (tùy chọn)

    định dạng giấy. Nếu được đặt, sẽ ưu tiên hơn các tùy chọn

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    510 hoặc
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    511. Mặc định là 'Thư'

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    532 (tùy chọn)

    Mẫu HTML cho tiêu đề in. Phải là đánh dấu HTML hợp lệ với các lớp sau được sử dụng để đưa các giá trị in vào chúng

    • Ngày in định dạng
      from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      542
    • Tên tài liệu
      from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      543
    • Vị trí tài liệu
      from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      544
    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      545 số trang hiện tại
    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      546 tổng số trang trong tài liệu
  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    511. (không bắt buộc)

    Chiều cao giấy, chấp nhận các giá trị được gắn nhãn đơn vị

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    548 bool (tùy chọn)

    Hướng giấy. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    512 (tùy chọn)

    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      551. (không bắt buộc)

      Lề trên, chấp nhận các giá trị được gắn nhãn đơn vị. Mặc định là

      page.once("load", lambda: print("page loaded!"))
      57

    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      553. (không bắt buộc)

      Lề phải, chấp nhận các giá trị được gắn nhãn đơn vị. Mặc định là

      page.once("load", lambda: print("page loaded!"))
      57

    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      555. (không bắt buộc)

      Lề dưới, chấp nhận các giá trị được gắn nhãn đơn vị. Mặc định là

      page.once("load", lambda: print("page loaded!"))
      57

    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      557. (không bắt buộc)

      Lề trái, chấp nhận các giá trị được gắn nhãn đơn vị. Mặc định là

      page.once("load", lambda: print("page loaded!"))
      57

    Lề giấy, mặc định là không có

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    559 (tùy chọn)

    Phạm vi giấy để in, e. g. , '1-5, 8, 11-13'. Mặc định là chuỗi rỗng, có nghĩa là in tất cả các trang

  • page.once("load", lambda: print("page loaded!"))
    15 [, pathlib. Đường dẫn] (tùy chọn)

    Đường dẫn tệp để lưu PDF vào. Nếu

    page.once("load", lambda: print("page loaded!"))
    15 là một đường dẫn tương đối, thì nó được giải quyết tương ứng với thư mục làm việc hiện tại. Nếu không cung cấp đường dẫn, tệp PDF sẽ không được lưu vào đĩa

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    562 bool (tùy chọn)

    Ưu tiên bất kỳ kích thước CSS

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    563 nào được khai báo trong trang so với kích thước được khai báo trong các tùy chọn
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    510 và
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    511 hoặc
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    520. Mặc định là
    page.once("load", lambda: print("page loaded!"))
    32, sẽ chia tỷ lệ nội dung cho vừa với khổ giấy

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    568 bool (tùy chọn)

    In đồ họa nền. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    570 (tùy chọn)

    Tỷ lệ kết xuất trang web. Mặc định là

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    571. Số lượng tỷ lệ phải nằm trong khoảng từ 0. 1 và 2

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    510. (không bắt buộc)

    Chiều rộng giấy, chấp nhận các giá trị được gắn nhãn đơn vị

trả lại


tải lại

Đã thêm vào. v1. 8 trang. tải lại

Phương pháp này tải lại trang hiện tại, giống như cách người dùng đã kích hoạt làm mới trình duyệt. Trả về phản hồi tài nguyên chính. Trong trường hợp có nhiều lần chuyển hướng, điều hướng sẽ giải quyết với phản hồi của lần chuyển hướng cuối cùng

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
11

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian hoạt động tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức , , hoặc

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    26 "tải". "domcontentloaded". "mạng lưới". "cam kết" (tùy chọn)

    Khi xem xét hoạt động đã thành công, mặc định là

    import asyncio
    from playwright.async_api import async_playwright

    async def run(playwright):
    webkit = playwright.webkit
    browser = await webkit.launch()
    context = await browser.new_context()
    page = await context.new_page()
    await page.goto("https://example.com")
    await page.screenshot(path="screenshot.png")
    await browser.close()

    async def main():
    async with async_playwright() as playwright:
    await run(playwright)
    asyncio.run(main())
    93. Sự kiện có thể là một trong hai

    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      28 - xem xét hoạt động kết thúc khi sự kiện
      page.once("load", lambda: print("page loaded!"))
      03 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      30 - xem xét hoạt động kết thúc khi sự kiện
      import asyncio
      from playwright.async_api import async_playwright

      async def run(playwright):
      webkit = playwright.webkit
      browser = await webkit.launch()
      context = await browser.new_context()
      page = await context.new_page()
      await page.goto("https://example.com")
      await page.screenshot(path="screenshot.png")
      await browser.close()

      async def main():
      async with async_playwright() as playwright:
      await run(playwright)
      asyncio.run(main())
      93 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      32 - xem xét hoạt động kết thúc khi không có kết nối mạng trong ít nhất
      def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      33 mili giây
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      34 - xem xét hoạt động kết thúc khi nhận được phản hồi mạng và tài liệu bắt đầu tải

trả lại

  • Phản ứng

tuyến đường

Đã thêm vào. v1. 8 trang. tuyến đường

Định tuyến cung cấp khả năng sửa đổi các yêu cầu mạng được thực hiện bởi một trang

Sau khi định tuyến được bật, mọi yêu cầu khớp với mẫu url sẽ bị đình trệ trừ khi nó được tiếp tục, hoàn thành hoặc bị hủy bỏ

Ghi chú

Trình xử lý sẽ chỉ được gọi cho url đầu tiên nếu phản hồi là chuyển hướng

Ghi chú

sẽ không chặn các yêu cầu bị chặn bởi Service Worker. Xem vấn đề này. Chúng tôi khuyên bạn nên tắt Service Worker khi sử dụng chặn yêu cầu bằng cách đặt

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
584 thành
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
585

Cách sử dụng

Một ví dụ về trình xử lý ngây thơ hủy bỏ tất cả các yêu cầu hình ảnh

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
12

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
13

hoặc cùng một đoạn mã sử dụng mẫu biểu thức chính quy thay thế

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
14

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
15

Có thể kiểm tra yêu cầu để quyết định hành động định tuyến. Ví dụ: chế nhạo tất cả các yêu cầu có chứa một số dữ liệu bài đăng và để nguyên tất cả các yêu cầu khác

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
16

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
17

Các tuyến trang được ưu tiên hơn các tuyến ngữ cảnh của trình duyệt (được thiết lập với ) khi yêu cầu khớp với cả hai trình xử lý

Để xóa một tuyến đường với trình xử lý của nó, bạn có thể sử dụng

Ghi chú

Kích hoạt định tuyến sẽ vô hiệu hóa bộ đệm http

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    23. Mẫu. [URL]. bool

    Mẫu hình cầu, mẫu biểu thức chính quy hoặc vị từ nhận URL để khớp trong khi định tuyến. Khi một

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    42 thông qua các tùy chọn ngữ cảnh được cung cấp và URL được truyền là một đường dẫn, nó sẽ được hợp nhất thông qua hàm tạo
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    43

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    589 [Lộ trình, Yêu cầu]

    chức năng xử lý để định tuyến yêu cầu

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    590 (tùy chọn) Đã thêm vào. v1. 15

    Tần suất một tuyến đường nên được sử dụng. Theo mặc định, nó sẽ được sử dụng mọi lúc


route_from_har

Đã thêm vào. v1. 23 trang. route_from_har

Nếu được chỉ định, các yêu cầu mạng được thực hiện trong trang sẽ được cung cấp từ tệp HAR. Đọc thêm về

Nhà viết kịch sẽ không phục vụ các yêu cầu bị Service Worker chặn từ tệp HAR. Xem vấn đề này. Chúng tôi khuyên bạn nên tắt Service Worker khi sử dụng chặn yêu cầu bằng cách đặt

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
584 thành
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
585

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
18

Tranh luận

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    593 [, pathlib. Con đường]

    Đường dẫn đến tệp HAR với dữ liệu mạng được ghi sẵn. Nếu

    page.once("load", lambda: print("page loaded!"))
    15 là một đường dẫn tương đối, thì nó được giải quyết tương ứng với thư mục làm việc hiện tại

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    595 "hủy bỏ". "dự phòng" (tùy chọn)

    • Nếu được đặt thành 'hủy bỏ', mọi yêu cầu không tìm thấy trong tệp HAR sẽ bị hủy bỏ
    • Nếu được đặt thành 'dự phòng', các yêu cầu bị thiếu sẽ được gửi đến mạng

    Mặc định để hủy bỏ

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    596 bool (tùy chọn)

    Nếu được chỉ định, hãy cập nhật HAR đã cho với thông tin mạng thực tế thay vì cung cấp từ tệp. Tệp được ghi vào đĩa khi được gọi

  • page.once("load", lambda: print("page loaded!"))
    23. Hoa văn (tùy chọn)

    Mẫu hình cầu, biểu thức chính quy hoặc vị từ để khớp với URL yêu cầu. Chỉ những yêu cầu có URL khớp với mẫu mới được phục vụ từ tệp HAR. Nếu không được chỉ định, tất cả các yêu cầu sẽ được phục vụ từ tệp HAR


ảnh chụp màn hình

Đã thêm vào. v1. 8 trang. ảnh chụp màn hình

Trả về bộ đệm với ảnh chụp màn hình đã chụp

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
19

Tranh luận

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    598 "bị vô hiệu hóa". "cho phép" (tùy chọn)

    Khi được đặt thành

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    599, dừng hoạt ảnh CSS, chuyển tiếp CSS và Hoạt ảnh web. Ảnh động được xử lý khác nhau tùy thuộc vào thời lượng của chúng

    • hoạt ảnh hữu hạn được chuyển tiếp nhanh đến khi hoàn thành, vì vậy chúng sẽ kích hoạt sự kiện
      from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      600
    • hoạt ảnh vô hạn bị hủy về trạng thái ban đầu và sau đó được phát lại sau ảnh chụp màn hình

    Mặc định là

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    601 để không ảnh hưởng đến hoạt ảnh

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    602 "ẩn". "ban đầu" (tùy chọn)

    Khi được đặt thành

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    603, ảnh chụp màn hình sẽ ẩn dấu mũ văn bản. Khi được đặt thành
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    604, hành vi của dấu nháy văn bản sẽ không bị thay đổi. Mặc định là
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    603

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    606 (tùy chọn)

    • page.once("load", lambda: print("page loaded!"))
      50

      tọa độ x của góc trên bên trái của khu vực clip

    • page.once("load", lambda: print("page loaded!"))
      51

      tọa độ y của góc trên bên trái của vùng clip

    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      510

      chiều rộng của khu vực cắt

    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      511

      chiều cao của khu vực cắt

    Một đối tượng chỉ định cắt hình ảnh kết quả. Nên có các trường sau

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    611 bool (tùy chọn)

    Khi đúng, chụp ảnh màn hình của toàn bộ trang có thể cuộn, thay vì chế độ xem hiện đang hiển thị. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    613 [Định vị] (tùy chọn)

    Chỉ định các bộ định vị sẽ được che khi chụp ảnh màn hình. Các phần tử được che phủ sẽ được phủ lên bằng một hộp màu hồng

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    614 bao phủ hoàn toàn hộp giới hạn của nó

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    615 bool (tùy chọn)

    Ẩn nền trắng mặc định và cho phép chụp ảnh màn hình với độ trong suốt. Không áp dụng cho hình ảnh

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    616. Mặc định là
    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    15 [, pathlib. Đường dẫn] (tùy chọn)

    Đường dẫn file lưu ảnh vào. Loại ảnh chụp màn hình sẽ được suy ra từ phần mở rộng tệp. Nếu

    page.once("load", lambda: print("page loaded!"))
    15 là một đường dẫn tương đối, thì nó được giải quyết tương ứng với thư mục làm việc hiện tại. Nếu không cung cấp đường dẫn, hình ảnh sẽ không được lưu vào đĩa

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    620 (tùy chọn)

    Chất lượng của hình ảnh, giữa 0-100. Không áp dụng cho hình ảnh

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    621

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    570 "css". "thiết bị" (tùy chọn)

    Khi được đặt thành

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    623, ảnh chụp màn hình sẽ có một pixel trên mỗi pixel css trên trang. Đối với các thiết bị có độ phân giải cao, điều này sẽ giữ cho ảnh chụp màn hình nhỏ. Sử dụng tùy chọn
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    624 sẽ tạo ra một pixel trên mỗi pixel thiết bị, vì vậy ảnh chụp màn hình của thiết bị có độ phân giải cao sẽ lớn gấp đôi hoặc thậm chí lớn hơn

    Mặc định là

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    624

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

  • page.once("load", lambda: print("page loaded!"))
    22 "png". "jpeg" (tùy chọn)

    Chỉ định loại ảnh chụp màn hình, mặc định là

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    621

trả lại


set_content

Đã thêm vào. v1. 8 trang. set_content

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
20

Tranh luận

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    630

    Đánh dấu HTML để gán cho trang

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian hoạt động tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức , , hoặc

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    26 "tải". "domcontentloaded". "mạng lưới". "cam kết" (tùy chọn)

    Khi xem xét hoạt động đã thành công, mặc định là

    import asyncio
    from playwright.async_api import async_playwright

    async def run(playwright):
    webkit = playwright.webkit
    browser = await webkit.launch()
    context = await browser.new_context()
    page = await context.new_page()
    await page.goto("https://example.com")
    await page.screenshot(path="screenshot.png")
    await browser.close()

    async def main():
    async with async_playwright() as playwright:
    await run(playwright)
    asyncio.run(main())
    93. Sự kiện có thể là một trong hai

    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      28 - xem xét hoạt động kết thúc khi sự kiện
      page.once("load", lambda: print("page loaded!"))
      03 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      30 - xem xét hoạt động kết thúc khi sự kiện
      import asyncio
      from playwright.async_api import async_playwright

      async def run(playwright):
      webkit = playwright.webkit
      browser = await webkit.launch()
      context = await browser.new_context()
      page = await context.new_page()
      await page.goto("https://example.com")
      await page.screenshot(path="screenshot.png")
      await browser.close()

      async def main():
      async with async_playwright() as playwright:
      await run(playwright)
      asyncio.run(main())
      93 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      32 - xem xét hoạt động kết thúc khi không có kết nối mạng trong ít nhất
      def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      33 mili giây
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      34 - xem xét hoạt động kết thúc khi nhận được phản hồi mạng và tài liệu bắt đầu tải

set_default_navigation_timeout

Đã thêm vào. v1. 8 trang. set_default_navigation_timeout

Cài đặt này sẽ thay đổi thời gian điều hướng tối đa mặc định cho các phương pháp sau và các phím tắt liên quan

Ghi chú

được ưu tiên hơn , và

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
21

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    56

    Thời gian điều hướng tối đa tính bằng mili giây


set_default_timeout

Đã thêm vào. v1. 8 trang. set_default_timeout

Cài đặt này sẽ thay đổi thời gian tối đa mặc định cho tất cả các phương thức chấp nhận tùy chọn

page.once("load", lambda: print("page loaded!"))
56

Ghi chú

ưu tiên hơn

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
22

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    56

    Thời gian tối đa tính bằng mili giây


set_extra_http_headers

Đã thêm vào. v1. 8 trang. set_extra_http_headers

Các tiêu đề HTTP bổ sung sẽ được gửi cùng với mọi yêu cầu mà trang bắt đầu

Ghi chú

không đảm bảo thứ tự của các tiêu đề trong các yêu cầu gửi đi

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
23

Tranh luận

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    645 [, ]

    Một đối tượng chứa các tiêu đề HTTP bổ sung sẽ được gửi với mọi yêu cầu. Tất cả các giá trị tiêu đề phải là chuỗi


set_viewport_size

Đã thêm vào. v1. 8 trang. set_viewport_size

Trong trường hợp có nhiều trang trong một trình duyệt, mỗi trang có thể có kích thước khung nhìn riêng. Tuy nhiên, cho phép đặt kích thước khung nhìn (và hơn thế nữa) cho tất cả các trang trong ngữ cảnh cùng một lúc

sẽ thay đổi kích thước trang. Rất nhiều trang web không muốn điện thoại thay đổi kích thước, vì vậy bạn nên đặt kích thước khung nhìn trước khi điều hướng đến trang. cũng sẽ đặt lại kích thước

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
506, sử dụng với các tham số
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
506 và
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
648 nếu bạn cần kiểm soát tốt hơn các thuộc tính này

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
24

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
25

Tranh luận

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    649
    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      510

      chiều rộng trang tính bằng pixel

    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      511

      chiều cao trang tính bằng pixel


Tiêu đề

Đã thêm vào. v1. 8 trang. Tiêu đề

Trả về tiêu đề của trang

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
26

trả lại


mở đường

Đã thêm vào. v1. 8 trang. mở đường

Xóa một tuyến đường được tạo bằng. Khi

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
589 không được chỉ định, hãy xóa tất cả các tuyến đường cho
page.once("load", lambda: print("page loaded!"))
23

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
27

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    23. Mẫu. [URL]. bool

    Mẫu hình cầu, mẫu biểu thức chính quy hoặc vị từ nhận URL để khớp trong khi định tuyến

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    589 [Tuyến đường, Yêu cầu] (tùy chọn)

    Chức năng xử lý tùy chọn để định tuyến yêu cầu


url

Đã thêm vào. v1. 8 trang. url

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
28

trả lại


video

Đã thêm vào. v1. 8 trang. video

Đối tượng video được liên kết với trang này

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
29

trả lại

  • Băng hình

viewport_size

Đã thêm vào. v1. 8 trang. viewport_size

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
30

trả lại

  • |
    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      510

      chiều rộng trang tính bằng pixel

    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      511

      chiều cao trang tính bằng pixel


wait_for_event

Đã thêm vào. v1. 8 trang. wait_for_event

Ghi chú

Trong hầu hết các trường hợp, bạn nên sử dụng

Đợi cho

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
08 được đưa ra để bắn. Nếu vị ngữ được cung cấp, nó sẽ chuyển giá trị của sự kiện vào hàm
page.once("load", lambda: print("page loaded!"))
96 và đợi
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
660 trả về giá trị trung thực. Sẽ báo lỗi nếu trang bị đóng trước khi kích hoạt
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
08

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
31

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    08

    Tên sự kiện, cùng một tên thường được chuyển vào

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    09

  • page.once("load", lambda: print("page loaded!"))
    96 (tùy chọn)

    Nhận dữ liệu sự kiện và phân giải thành giá trị trung thực khi chờ đợi sẽ giải quyết

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian chờ tối đa tính bằng mili giây. Mặc định là

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    00 (30 giây). Vượt qua
    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng

trả lại


chờ_cho_chức_năng

Đã thêm vào. v1. 8 trang. chờ_cho_chức_năng

Trả về khi

page.once("load", lambda: print("page loaded!"))
81 trả về giá trị trung thực. Nó phân giải thành một JSHandle có giá trị trung thực

Cách sử dụng

Có thể được sử dụng để quan sát sự thay đổi kích thước khung nhìn

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
32

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
33

Để truyền một đối số cho vị từ của hàm

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
34

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
35

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    81

    Biểu thức JavaScript được đánh giá trong ngữ cảnh trình duyệt. Nếu biểu thức đánh giá một hàm, thì hàm đó sẽ tự động được gọi

  • page.once("load", lambda: print("page loaded!"))
    90 (tùy chọn)

    Đối số tùy chọn để chuyển đến

    page.once("load", lambda: print("page loaded!"))
    81

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    672. "raf" (tùy chọn)

    Nếu

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    672 là
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    674, thì
    page.once("load", lambda: print("page loaded!"))
    81 liên tục được thực thi trong cuộc gọi lại
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    676. Nếu
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    672 là một số, thì nó được coi là một khoảng thời gian tính bằng mili giây tại đó hàm sẽ được thực thi. Mặc định là
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    678

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    thời gian chờ tối đa tính bằng mili giây. Mặc định là

    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    00 (30 giây). Vượt qua
    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng

trả lại

  • JSHandle

wait_for_load_state

Đã thêm vào. v1. 8 trang. wait_for_load_state

Trả về khi đạt đến trạng thái tải yêu cầu

Điều này giải quyết khi trang đạt đến trạng thái tải bắt buộc, theo mặc định là

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
93. Điều hướng phải được thực hiện khi phương thức này được gọi. Nếu tài liệu hiện tại đã đạt đến trạng thái yêu cầu, sẽ giải quyết ngay lập tức

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
36

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
37

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
38

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
39

Tranh luận

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    683 "tải". "domcontentloaded". "mạng lưới" (tùy chọn)

    Trạng thái tải tùy chọn để chờ, mặc định là

    import asyncio
    from playwright.async_api import async_playwright

    async def run(playwright):
    webkit = playwright.webkit
    browser = await webkit.launch()
    context = await browser.new_context()
    page = await context.new_page()
    await page.goto("https://example.com")
    await page.screenshot(path="screenshot.png")
    await browser.close()

    async def main():
    async with async_playwright() as playwright:
    await run(playwright)
    asyncio.run(main())
    93. Nếu trạng thái đã đạt được trong khi tải tài liệu hiện tại, phương thức sẽ giải quyết ngay lập tức. Có thể là một trong

    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      30 - đợi sự kiện
      import asyncio
      from playwright.async_api import async_playwright

      async def run(playwright):
      webkit = playwright.webkit
      browser = await webkit.launch()
      context = await browser.new_context()
      page = await context.new_page()
      await page.goto("https://example.com")
      await page.screenshot(path="screenshot.png")
      await browser.close()

      async def main():
      async with async_playwright() as playwright:
      await run(playwright)
      asyncio.run(main())
      93 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      28 - đợi sự kiện
      page.once("load", lambda: print("page loaded!"))
      03 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      32 - đợi cho đến khi không có kết nối mạng trong ít nhất
      def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      33 mili giây
  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian hoạt động tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức , , hoặc


wait_for_selector

Đã thêm vào. v1. 8 trang. wait_for_selector

Trả về khi phần tử được chỉ định bởi bộ chọn thỏa mãn tùy chọn

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
683. Trả về
page.once("load", lambda: print("page loaded!"))
80 nếu đang đợi
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
695 hoặc
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
696

Ghi chú

Nhà viết kịch tự động đợi phần tử sẵn sàng trước khi thực hiện một hành động. Việc sử dụng các đối tượng Trình định vị và các xác nhận ưu tiên trên web giúp mã không phải chờ bộ chọn

Đợi

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 thỏa mãn tùy chọn
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
683 (xuất hiện/biến mất khỏi dom hoặc hiển thị/ẩn). Nếu tại thời điểm gọi phương thức
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 đã thỏa mãn điều kiện, phương thức sẽ trả về ngay lập tức. Nếu bộ chọn không thỏa mãn điều kiện trong
page.once("load", lambda: print("page loaded!"))
56 mili giây, hàm sẽ ném

Cách sử dụng

Phương pháp này hoạt động trên các điều hướng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
40

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
41

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để truy vấn

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    683 "đính kèm". "tách ra". "dễ thấy". "ẩn" (tùy chọn)

    Mặc định là

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    703. Có thể là một trong hai

    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      704 - đợi phần tử có mặt trong DOM
    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      705 - đợi phần tử không có mặt trong DOM
    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      703 - đợi phần tử có hộp giới hạn không trống và không có
      from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      707. Lưu ý rằng phần tử không có bất kỳ nội dung nào hoặc có
      from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      708 có hộp giới hạn trống và không được coi là hiển thị
    • from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      709 - đợi phần tử được tách ra khỏi DOM hoặc có hộp giới hạn trống hoặc
      from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      707. Điều này trái ngược với tùy chọn
      from playwright.sync_api import sync_playwright

      def run(playwright):
      webkit = playwright.webkit
      browser = webkit.launch()
      context = browser.new_context()
      page = context.new_page()
      page.goto("https://example.com")
      page.screenshot(path="screenshot.png")
      browser.close()

      with sync_playwright() as playwright:
      run(playwright)
      703
  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại

  • Yếu tốXử lý

wait_for_timeout

Đã thêm vào. v1. 8 trang. wait_for_timeout

Đợi

page.once("load", lambda: print("page loaded!"))
56 đã cho tính bằng mili giây

Lưu ý rằng chỉ nên sử dụng

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
716 để gỡ lỗi. Các thử nghiệm sử dụng bộ đếm thời gian trong quá trình sản xuất sẽ không ổn định. Thay vào đó, hãy sử dụng các tín hiệu như sự kiện mạng, bộ chọn hiển thị và các tín hiệu khác

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
42

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
43

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    56

    Thời gian chờ đợi


wait_for_url

Đã thêm vào. v1. 11 trang. wait_for_url

Đợi khung chính điều hướng đến URL đã cho

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
44

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
45

Tranh luận

  • page.once("load", lambda: print("page loaded!"))
    23. Mẫu. [URL]. bool

    Mẫu hình cầu, mẫu biểu thức chính quy hoặc vị từ nhận URL để khớp trong khi chờ điều hướng. Lưu ý rằng nếu tham số là một chuỗi không có ký tự đại diện, phương thức sẽ đợi điều hướng đến URL chính xác bằng chuỗi

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian hoạt động tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức , , hoặc

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    26 "tải". "domcontentloaded". "mạng lưới". "cam kết" (tùy chọn)

    Khi xem xét hoạt động đã thành công, mặc định là

    import asyncio
    from playwright.async_api import async_playwright

    async def run(playwright):
    webkit = playwright.webkit
    browser = await webkit.launch()
    context = await browser.new_context()
    page = await context.new_page()
    await page.goto("https://example.com")
    await page.screenshot(path="screenshot.png")
    await browser.close()

    async def main():
    async with async_playwright() as playwright:
    await run(playwright)
    asyncio.run(main())
    93. Sự kiện có thể là một trong hai

    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      28 - xem xét hoạt động kết thúc khi sự kiện
      page.once("load", lambda: print("page loaded!"))
      03 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      30 - xem xét hoạt động kết thúc khi sự kiện
      import asyncio
      from playwright.async_api import async_playwright

      async def run(playwright):
      webkit = playwright.webkit
      browser = await webkit.launch()
      context = await browser.new_context()
      page = await context.new_page()
      await page.goto("https://example.com")
      await page.screenshot(path="screenshot.png")
      await browser.close()

      async def main():
      async with async_playwright() as playwright:
      await run(playwright)
      asyncio.run(main())
      93 được kích hoạt
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      32 - xem xét hoạt động kết thúc khi không có kết nối mạng trong ít nhất
      def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      33 mili giây
    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      34 - xem xét hoạt động kết thúc khi nhận được phản hồi mạng và tài liệu bắt đầu tải

công nhân

Đã thêm vào. v1. 8 trang. công nhân

Phương thức này trả về tất cả các WebWorker chuyên dụng được liên kết với trang

Ghi chú

Điều này không chứa ServiceWorkers

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
46

trả lại

  • [Người làm việc]

Tính chất

bàn phím

Đã thêm vào. v1. 8 trang. bàn phím

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
47

Loại

  • bàn phím

con chuột

Đã thêm vào. v1. 8 trang. con chuột

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
48

Loại

  • Con chuột

yêu cầu

Đã thêm vào. v1. 16 trang. yêu cầu

Trình trợ giúp kiểm tra API được liên kết với trang này. Phương thức này trả về cùng một phiên bản như trên ngữ cảnh của trang. Xem để biết thêm chi tiết

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
49

Loại

  • APIRequestContext

màn hình cảm ứng

Đã thêm vào. v1. 8 trang. màn hình cảm ứng

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
50

Loại

  • Màn hình cảm ứng

không dùng nữa

kiểm tra

Đã thêm vào. v1. 8 trang. kiểm tra

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương pháp này kiểm tra một phần tử phù hợp với

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 bằng cách thực hiện các bước sau

  1. Tìm một phần tử phù hợp với
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96. Nếu không có, hãy đợi cho đến khi một phần tử phù hợp được gắn vào DOM
  2. Đảm bảo rằng phần tử phù hợp là hộp kiểm hoặc đầu vào radio. Nếu không, phương pháp này ném. Nếu phần tử đã được kiểm tra, phương thức này sẽ trả về ngay lập tức
  3. Đợi kiểm tra khả năng hành động trên phần tử phù hợp, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    45 được đặt. Nếu phần tử bị tách ra trong quá trình kiểm tra, toàn bộ hành động sẽ được thử lại
  4. Cuộn phần tử vào chế độ xem nếu cần
  5. Sử dụng để nhấp vào trung tâm của phần tử
  6. Đợi điều hướng bắt đầu thành công hoặc thất bại, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    47 được đặt
  7. Đảm bảo rằng phần tử hiện được kiểm tra. Nếu không, phương pháp này ném

Khi tất cả các bước được kết hợp chưa hoàn thành trong thời gian

page.once("load", lambda: print("page loaded!"))
56 được chỉ định, phương pháp này sẽ đưa ra Lỗi hết thời gian chờ. Vượt qua thời gian chờ bằng 0 sẽ vô hiệu hóa điều này

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
51

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    45 bool (tùy chọn)

    Có bỏ qua kiểm tra khả năng hành động hay không. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 (tùy chọn) Đã thêm vào. v1. 11

    • page.once("load", lambda: print("page loaded!"))
      50
    • page.once("load", lambda: print("page loaded!"))
      51

    Một điểm để sử dụng so với góc trên cùng bên trái của hộp đệm phần tử. Nếu không được chỉ định, sử dụng một số điểm có thể nhìn thấy của phần tử

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

  • page.once("load", lambda: print("page loaded!"))
    58 bool (tùy chọn) Đã thêm vào. v1. 11

    Khi được đặt, phương thức này chỉ thực hiện kiểm tra khả năng hành động và bỏ qua hành động. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32. Hữu ích để đợi cho đến khi phần tử sẵn sàng cho hành động mà không thực hiện nó


nhấp chuột

Đã thêm vào. v1. 8 trang. nhấp chuột

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương pháp này nhấp vào một phần tử phù hợp với

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 bằng cách thực hiện các bước sau

  1. Tìm một phần tử phù hợp với
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96. Nếu không có, hãy đợi cho đến khi một phần tử phù hợp được gắn vào DOM
  2. Đợi kiểm tra khả năng hành động trên phần tử phù hợp, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    45 được đặt. Nếu phần tử bị tách ra trong quá trình kiểm tra, toàn bộ hành động sẽ được thử lại
  3. Cuộn phần tử vào chế độ xem nếu cần
  4. Sử dụng để nhấp vào trung tâm của phần tử hoặc
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 được chỉ định
  5. Đợi điều hướng bắt đầu thành công hoặc thất bại, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    47 được đặt

Khi tất cả các bước được kết hợp chưa hoàn thành trong thời gian

page.once("load", lambda: print("page loaded!"))
56 được chỉ định, phương pháp này sẽ đưa ra Lỗi hết thời gian chờ. Vượt qua thời gian chờ bằng 0 sẽ vô hiệu hóa điều này

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
52

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    040 "trái". "đúng". "giữa" (tùy chọn)

    Mặc định là

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    557

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    757 (tùy chọn)

    mặc định là 1. Xem UIEvent. chi tiết

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    758 (tùy chọn)

    Thời gian chờ giữa

    page.once("load", lambda: print("page loaded!"))
    41 và
    page.once("load", lambda: print("page loaded!"))
    42 tính bằng mili giây. Mặc định là 0

  • page.once("load", lambda: print("page loaded!"))
    45 bool (tùy chọn)

    Có bỏ qua kiểm tra khả năng hành động hay không. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    763 ["Alt". "Kiểm soát". "siêu". "Shift"] (tùy chọn)

    Các phím bổ trợ để nhấn. Đảm bảo rằng chỉ những công cụ sửa đổi này được nhấn trong quá trình hoạt động, sau đó khôi phục lại các công cụ sửa đổi hiện tại. Nếu không được chỉ định, các công cụ sửa đổi hiện đang được nhấn sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 (tùy chọn)

    • page.once("load", lambda: print("page loaded!"))
      50
    • page.once("load", lambda: print("page loaded!"))
      51

    Một điểm để sử dụng so với góc trên cùng bên trái của hộp đệm phần tử. Nếu không được chỉ định, sử dụng một số điểm có thể nhìn thấy của phần tử

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

  • page.once("load", lambda: print("page loaded!"))
    58 bool (tùy chọn) Đã thêm vào. v1. 11

    Khi được đặt, phương thức này chỉ thực hiện kiểm tra khả năng hành động và bỏ qua hành động. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32. Hữu ích để đợi cho đến khi phần tử sẵn sàng cho hành động mà không thực hiện nó


dblclick

Đã thêm vào. v1. 8 trang. dblclick

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương pháp này nhấp đúp vào một phần tử phù hợp với

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 bằng cách thực hiện các bước sau

  1. Tìm một phần tử phù hợp với
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96. Nếu không có, hãy đợi cho đến khi một phần tử phù hợp được gắn vào DOM
  2. Đợi kiểm tra khả năng hành động trên phần tử phù hợp, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    45 được đặt. Nếu phần tử bị tách ra trong quá trình kiểm tra, toàn bộ hành động sẽ được thử lại
  3. Cuộn phần tử vào chế độ xem nếu cần
  4. Sử dụng để nhấp đúp vào trung tâm của phần tử hoặc
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 được chỉ định
  5. Đợi điều hướng bắt đầu thành công hoặc thất bại, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    47 được đặt. Lưu ý rằng nếu lần nhấp đầu tiên của
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    779 kích hoạt sự kiện điều hướng, phương pháp này sẽ ném

Khi tất cả các bước được kết hợp chưa hoàn thành trong thời gian

page.once("load", lambda: print("page loaded!"))
56 được chỉ định, phương pháp này sẽ đưa ra Lỗi hết thời gian chờ. Vượt qua thời gian chờ bằng 0 sẽ vô hiệu hóa điều này

Ghi chú

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
781 gửi hai sự kiện
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
782 và một sự kiện
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
783 duy nhất

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
53

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    040 "trái". "đúng". "giữa" (tùy chọn)

    Mặc định là

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    557

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    758 (tùy chọn)

    Thời gian chờ giữa

    page.once("load", lambda: print("page loaded!"))
    41 và
    page.once("load", lambda: print("page loaded!"))
    42 tính bằng mili giây. Mặc định là 0

  • page.once("load", lambda: print("page loaded!"))
    45 bool (tùy chọn)

    Có bỏ qua kiểm tra khả năng hành động hay không. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    763 ["Alt". "Kiểm soát". "siêu". "Shift"] (tùy chọn)

    Các phím bổ trợ để nhấn. Đảm bảo rằng chỉ những công cụ sửa đổi này được nhấn trong quá trình hoạt động, sau đó khôi phục lại các công cụ sửa đổi hiện tại. Nếu không được chỉ định, các công cụ sửa đổi hiện đang được nhấn sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 (tùy chọn)

    • page.once("load", lambda: print("page loaded!"))
      50
    • page.once("load", lambda: print("page loaded!"))
      51

    Một điểm để sử dụng so với góc trên cùng bên trái của hộp đệm phần tử. Nếu không được chỉ định, sử dụng một số điểm có thể nhìn thấy của phần tử

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

  • page.once("load", lambda: print("page loaded!"))
    58 bool (tùy chọn) Đã thêm vào. v1. 11

    Khi được đặt, phương thức này chỉ thực hiện kiểm tra khả năng hành động và bỏ qua hành động. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32. Hữu ích để đợi cho đến khi phần tử sẵn sàng cho hành động mà không thực hiện nó


công văn_sự kiện

Đã thêm vào. v1. 8 trang. công văn_sự kiện

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Đoạn mã bên dưới gửi sự kiện

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
782 trên phần tử. Bất kể trạng thái hiển thị của phần tử,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
782 được gửi đi. Điều này tương đương với việc gọi phần tử. nhấp chuột()

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
54

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
55

Về cơ bản, nó tạo một thể hiện của một sự kiện dựa trên

page.once("load", lambda: print("page loaded!"))
22 đã cho, khởi tạo nó với các thuộc tính
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
806 và gửi nó trên phần tử. Các sự kiện là ________ 1807, ________ 1808 và bong bóng theo mặc định

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
806 dành riêng cho sự kiện, vui lòng tham khảo tài liệu về sự kiện để biết danh sách các thuộc tính ban đầu

  • kéo sự kiện
  • Tiêu điểmSự kiện
  • bàn phímsự kiện
  • ChuộtSự kiện
  • Sự kiện con trỏ
  • TouchEvent
  • Biến cố

Bạn cũng có thể chỉ định

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
810 làm giá trị thuộc tính nếu bạn muốn các đối tượng trực tiếp được chuyển vào sự kiện

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
56

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
57

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    22

    Loại sự kiện DOM.

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    813,
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    814, v.v.

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    806 (tùy chọn)

    Thuộc tính khởi tạo dành riêng cho sự kiện tùy chọn

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc


eval_on_selector

Đã thêm vào. v1. 9 trang. eval_on_selector

thận trọng

Phương pháp này không chờ phần tử vượt qua kiểm tra khả năng hành động và do đó có thể dẫn đến các bài kiểm tra không ổn định. Thay vào đó, hãy sử dụng các phương thức trợ giúp Trình định vị khác hoặc xác nhận ưu tiên web

Phương thức tìm thấy một phần tử khớp với bộ chọn đã chỉ định trong trang và chuyển nó làm đối số đầu tiên cho

page.once("load", lambda: print("page loaded!"))
81. Nếu không có phần tử nào khớp với bộ chọn, phương thức sẽ báo lỗi. Trả về giá trị của
page.once("load", lambda: print("page loaded!"))
81

Nếu

page.once("load", lambda: print("page loaded!"))
81 trả về một Lời hứa, thì sẽ đợi lời hứa giải quyết và trả về giá trị của nó

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
58

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
59

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để truy vấn

  • page.once("load", lambda: print("page loaded!"))
    81

    Biểu thức JavaScript được đánh giá trong ngữ cảnh trình duyệt. Nếu biểu thức đánh giá một hàm, thì hàm đó sẽ tự động được gọi

  • page.once("load", lambda: print("page loaded!"))
    90 (tùy chọn)

    Đối số tùy chọn để chuyển đến

    page.once("load", lambda: print("page loaded!"))
    81

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

trả lại


eval_on_selector_all

Đã thêm vào. v1. 9 trang. eval_on_selector_all

thận trọng

Trong hầu hết các trường hợp, các phương thức trợ giúp của Trình định vị và các xác nhận ưu tiên trên web thực hiện công việc tốt hơn

Phương thức tìm tất cả các phần tử khớp với bộ chọn đã chỉ định trong trang và chuyển một mảng các phần tử khớp làm đối số đầu tiên cho

page.once("load", lambda: print("page loaded!"))
81. Trả về kết quả của lệnh gọi
page.once("load", lambda: print("page loaded!"))
81

Nếu

page.once("load", lambda: print("page loaded!"))
81 trả về một Lời hứa, thì sẽ đợi lời hứa giải quyết và trả về giá trị của nó

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
60

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
61

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để truy vấn

  • page.once("load", lambda: print("page loaded!"))
    81

    Biểu thức JavaScript được đánh giá trong ngữ cảnh trình duyệt. Nếu biểu thức đánh giá một hàm, thì hàm đó sẽ tự động được gọi

  • page.once("load", lambda: print("page loaded!"))
    90 (tùy chọn)

    Đối số tùy chọn để chuyển đến

    page.once("load", lambda: print("page loaded!"))
    81

trả lại


lấp đầy

Đã thêm vào. v1. 8 trang. lấp đầy

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương pháp này đợi một phần tử phù hợp với

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96, chờ kiểm tra khả năng hành động, tập trung vào phần tử, điền vào nó và kích hoạt một sự kiện
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
835 sau khi điền. Lưu ý rằng bạn có thể chuyển một chuỗi trống để xóa trường nhập liệu

Nếu phần tử đích không phải là phần tử

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
836,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
837 hoặc
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
838, phương thức này sẽ báo lỗi. Tuy nhiên, nếu phần tử nằm trong phần tử
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
839 có điều khiển được liên kết, điều khiển sẽ được điền thay thế

Để gửi các sự kiện bàn phím chi tiết, hãy sử dụng

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
62

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    042

    Giá trị cần điền cho phần tử

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    836,
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    837 hoặc
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    838

  • page.once("load", lambda: print("page loaded!"))
    45 bool (tùy chọn) Đã thêm vào. v1. 13

    Có bỏ qua kiểm tra khả năng hành động hay không. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc


tiêu điểm

Đã thêm vào. v1. 8 trang. tiêu điểm

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương pháp này tìm nạp một phần tử với

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 và tập trung vào nó. Nếu không có phần tử nào phù hợp với
def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96, phương thức sẽ đợi cho đến khi phần tử phù hợp xuất hiện trong DOM

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
63

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc


get_attribute

Đã thêm vào. v1. 8 trang. get_attribute

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả về giá trị thuộc tính phần tử

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
64

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    69

    Tên thuộc tính để lấy giá trị cho

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại

  • |

bay lượn

Đã thêm vào. v1. 8 trang. bay lượn

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương pháp này di chuyển qua một phần tử phù hợp với

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 bằng cách thực hiện các bước sau

  1. Tìm một phần tử phù hợp với
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96. Nếu không có, hãy đợi cho đến khi một phần tử phù hợp được gắn vào DOM
  2. Đợi kiểm tra khả năng hành động trên phần tử phù hợp, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    45 được đặt. Nếu phần tử bị tách ra trong quá trình kiểm tra, toàn bộ hành động sẽ được thử lại
  3. Cuộn phần tử vào chế độ xem nếu cần
  4. Sử dụng để di chuột qua trung tâm của phần tử hoặc
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 được chỉ định
  5. Đợi điều hướng bắt đầu thành công hoặc thất bại, trừ khi tùy chọn
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    867 được đặt

Khi tất cả các bước được kết hợp chưa hoàn thành trong thời gian

page.once("load", lambda: print("page loaded!"))
56 được chỉ định, phương pháp này sẽ đưa ra Lỗi hết thời gian chờ. Vượt qua thời gian chờ bằng 0 sẽ vô hiệu hóa điều này

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
65

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    45 bool (tùy chọn)

    Có bỏ qua kiểm tra khả năng hành động hay không. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    763 ["Alt". "Kiểm soát". "siêu". "Shift"] (tùy chọn)

    Các phím bổ trợ để nhấn. Đảm bảo rằng chỉ những công cụ sửa đổi này được nhấn trong quá trình hoạt động, sau đó khôi phục lại các công cụ sửa đổi hiện tại. Nếu không được chỉ định, các công cụ sửa đổi hiện đang được nhấn sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn) Đã thêm vào. v1. 28

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 (tùy chọn)

    • page.once("load", lambda: print("page loaded!"))
      50
    • page.once("load", lambda: print("page loaded!"))
      51

    Một điểm để sử dụng so với góc trên cùng bên trái của hộp đệm phần tử. Nếu không được chỉ định, sử dụng một số điểm có thể nhìn thấy của phần tử

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

  • page.once("load", lambda: print("page loaded!"))
    58 bool (tùy chọn) Đã thêm vào. v1. 11

    Khi được đặt, phương thức này chỉ thực hiện kiểm tra khả năng hành động và bỏ qua hành động. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32. Hữu ích để đợi cho đến khi phần tử sẵn sàng cho hành động mà không thực hiện nó


internal_html

Đã thêm vào. v1. 8 trang. internal_html

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả lại

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
883

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
66

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại


internal_text

Đã thêm vào. v1. 8 trang. internal_text

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả lại

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
888

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
67

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại


giá trị đầu vào

Đã thêm vào. v1. 13 trang. giá trị đầu vào

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả về

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
893 cho phần tử
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
836 hoặc
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
837 hoặc
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
896 đã chọn

Ném cho các yếu tố không đầu vào. Tuy nhiên, nếu phần tử bên trong phần tử

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
839 có điều khiển được liên kết, trả về giá trị của điều khiển

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
68

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại


is_checked

Đã thêm vào. v1. 8 trang. is_checked

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả về phần tử có được kiểm tra hay không. Ném nếu phần tử không phải là hộp kiểm hoặc đầu vào radio

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
69

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại

  • bool

bị vô hiệu hóa

Đã thêm vào. v1. 8 trang. bị vô hiệu hóa

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả về phần tử có bị vô hiệu hóa hay không, ngược lại với

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
70

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại

  • bool

is_editable

Đã thêm vào. v1. 8 trang. is_editable

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả về liệu phần tử có phải là

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
71

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại

  • bool

được kích hoạt

Đã thêm vào. v1. 8 trang. được kích hoạt

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả về liệu phần tử có phải là

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
72

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại

  • bool

is_hidden

Đã thêm vào. v1. 8 trang. is_hidden

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả về phần tử có bị ẩn hay không, ngược lại với.

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 không khớp với bất kỳ phần tử nào được coi là ẩn

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
73

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

trả lại

  • bool

có thể nhìn thấy

Đã thêm vào. v1. 8 trang. có thể nhìn thấy

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả về liệu phần tử có phải là.

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 không khớp với bất kỳ phần tử nào được coi là không hiển thị

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
74

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

trả lại

  • bool

nhấn

Đã thêm vào. v1. 8 trang. nhấn

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Lấy nét phần tử, sau đó sử dụng và

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
926 có thể chỉ định bàn phím dự định. giá trị khóa hoặc một ký tự đơn để tạo văn bản cho. Có thể tìm thấy siêu bộ của các giá trị
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
926 tại đây. Ví dụ về các phím là

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
928 -
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
929,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
930-
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
931,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
932-
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
933,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
934,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
935,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
936,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
937,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
938,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
939,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
940,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
941,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
942,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
943, ____

Các phím tắt sửa đổi sau đây cũng được hỗ trợ.

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
951,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
952,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
953,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
954,
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
955

Giữ phím

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
951 sẽ nhập văn bản tương ứng với
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
926 ở dạng chữ hoa

Nếu

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
926 là một ký tự đơn, nó phân biệt chữ hoa chữ thường, vì vậy các giá trị
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
959 và
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
960 sẽ tạo ra các văn bản tương ứng khác nhau

Các phím tắt như

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
961 hoặc
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
962 cũng được hỗ trợ. Khi được chỉ định với công cụ sửa đổi, công cụ sửa đổi được nhấn và giữ trong khi phím tiếp theo đang được nhấn

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
75

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
76

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    926

    Tên của phím để nhấn hoặc một ký tự để tạo, chẳng hạn như

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    965 hoặc
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    959

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    758 (tùy chọn)

    Thời gian chờ giữa

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    968 và
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    969 tính bằng mili giây. Mặc định là 0

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc


query_selector

Đã thêm vào. v1. 9 trang. query_selector

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương thức tìm phần tử khớp với bộ chọn đã chỉ định trong trang. Nếu không có phần tử nào khớp với bộ chọn, giá trị trả về sẽ phân giải thành

page.once("load", lambda: print("page loaded!"))
80. Để đợi một phần tử trên trang, hãy sử dụng

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
77

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để truy vấn

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

trả lại

  • Yếu tốXử lý

query_selector_all

Đã thêm vào. v1. 9 trang. query_selector_all

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương thức tìm tất cả các phần tử khớp với bộ chọn đã chỉ định trong trang. Nếu không có phần tử nào khớp với bộ chọn, giá trị trả về sẽ phân giải thành

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
978

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
78

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để truy vấn

trả lại

  • [Xử lý phần tử]

chọn tùy chọn

Đã thêm vào. v1. 8 trang. chọn tùy chọn

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương pháp này đợi một phần tử phù hợp với

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96, đợi kiểm tra khả năng hành động, đợi cho đến khi tất cả các tùy chọn được chỉ định có trong phần tử
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
896 và chọn các tùy chọn này

Nếu phần tử đích không phải là phần tử

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
896, phương thức này sẽ báo lỗi. Tuy nhiên, nếu phần tử bên trong phần tử
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
839 có một điều khiển được liên kết, thì điều khiển đó sẽ được sử dụng thay thế

Trả về mảng các giá trị tùy chọn đã được chọn thành công

Kích hoạt sự kiện

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
984 và
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
835 sau khi tất cả các tùy chọn được cung cấp đã được chọn

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
79

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
80

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    45 bool (tùy chọn) Đã thêm vào. v1. 13

    Có bỏ qua kiểm tra khả năng hành động hay không. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    994 Xử lý phần tử. [ElementHandle] (tùy chọn)

    Các yếu tố tùy chọn để chọn. Không bắt buộc

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    995. [] (không bắt buộc)

    Tùy chọn để chọn theo chỉ mục. Không bắt buộc

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    042. [] (không bắt buộc)

    Tùy chọn để chọn theo giá trị. Nếu

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    896 có thuộc tính
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    998, thì tất cả các tùy chọn đã cho sẽ được chọn, nếu không thì chỉ tùy chọn đầu tiên khớp với một trong các tùy chọn đã thông qua mới được chọn. Không bắt buộc

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    999. [] (không bắt buộc)

    Tùy chọn để chọn theo nhãn. Nếu

    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    896 có thuộc tính
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    998, thì tất cả các tùy chọn đã cho sẽ được chọn, nếu không thì chỉ tùy chọn đầu tiên khớp với một trong các tùy chọn đã thông qua mới được chọn. Không bắt buộc

trả lại

  • []

set_checked

Đã thêm vào. v1. 15 trang. set_checked

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương pháp này kiểm tra hoặc bỏ chọn một phần tử phù hợp với

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 bằng cách thực hiện các bước sau

  1. Tìm một phần tử phù hợp với
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96. Nếu không có, hãy đợi cho đến khi một phần tử phù hợp được gắn vào DOM
  2. Đảm bảo rằng phần tử phù hợp là hộp kiểm hoặc đầu vào radio. Nếu không, phương pháp này ném
  3. Nếu phần tử đã có trạng thái được kiểm tra đúng, phương thức này sẽ trả về ngay lập tức
  4. Đợi kiểm tra khả năng hành động trên phần tử phù hợp, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    45 được đặt. Nếu phần tử bị tách ra trong quá trình kiểm tra, toàn bộ hành động sẽ được thử lại
  5. Cuộn phần tử vào chế độ xem nếu cần
  6. Sử dụng để nhấp vào trung tâm của phần tử
  7. Đợi điều hướng bắt đầu thành công hoặc thất bại, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    47 được đặt
  8. Đảm bảo rằng phần tử hiện được chọn hoặc bỏ chọn. Nếu không, phương pháp này ném

Khi tất cả các bước được kết hợp chưa hoàn thành trong thời gian

page.once("load", lambda: print("page loaded!"))
56 được chỉ định, phương pháp này sẽ đưa ra Lỗi hết thời gian chờ. Vượt qua thời gian chờ bằng 0 sẽ vô hiệu hóa điều này

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
81

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    006 bool

    Nên chọn hay bỏ chọn hộp kiểm

  • page.once("load", lambda: print("page loaded!"))
    45 bool (tùy chọn)

    Có bỏ qua kiểm tra khả năng hành động hay không. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 (tùy chọn)

    • page.once("load", lambda: print("page loaded!"))
      50
    • page.once("load", lambda: print("page loaded!"))
      51

    Một điểm để sử dụng so với góc trên cùng bên trái của hộp đệm phần tử. Nếu không được chỉ định, sử dụng một số điểm có thể nhìn thấy của phần tử

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn)

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

  • page.once("load", lambda: print("page loaded!"))
    58 bool (tùy chọn)

    Khi được đặt, phương thức này chỉ thực hiện kiểm tra khả năng hành động và bỏ qua hành động. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32. Hữu ích để đợi cho đến khi phần tử sẵn sàng cho hành động mà không thực hiện nó


set_input_files

Đã thêm vào. v1. 8 trang. set_input_files

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Đặt giá trị của tệp đầu vào cho các đường dẫn tệp hoặc tệp này. Nếu một số

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
021 là đường dẫn tương đối, thì chúng sẽ được giải quyết tương ứng với thư mục làm việc hiện tại. Đối với mảng trống, xóa các tệp đã chọn

Phương thức này yêu cầu

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 trỏ đến một phần tử đầu vào. Tuy nhiên, nếu phần tử nằm trong phần tử
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
839 có điều khiển được liên kết, hãy nhắm mục tiêu điều khiển thay thế

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
82

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • import asyncio
    from playwright.async_api import async_playwright

    async def run(playwright):
    webkit = playwright.webkit
    browser = await webkit.launch()
    context = await browser.new_context()
    page = await context.new_page()
    await page.goto("https://example.com")
    await page.screenshot(path="screenshot.png")
    await browser.close()

    async def main():
    async with async_playwright() as playwright:
    await run(playwright)
    asyncio.run(main())
    025 [, pathlib. Con đường]. [[, đường dẫn. Con đường]]. []

    • def log_request(intercepted_request):
      print("a request was made:", intercepted_request.url)
      page.on("request", log_request)
      # sometime later...
      page.remove_listener("request", log_request)
      69

      tên tệp

    • import asyncio
      from playwright.async_api import async_playwright

      async def run(playwright):
      webkit = playwright.webkit
      browser = await webkit.launch()
      context = await browser.new_context()
      page = await context.new_page()
      await page.goto("https://example.com")
      await page.screenshot(path="screenshot.png")
      await browser.close()

      async def main():
      async with async_playwright() as playwright:
      await run(playwright)
      asyncio.run(main())
      027

      Loại tệp

    • import asyncio
      from playwright.async_api import async_playwright

      async def run(playwright):
      webkit = playwright.webkit
      browser = await webkit.launch()
      context = await browser.new_context()
      page = await context.new_page()
      await page.goto("https://example.com")
      await page.screenshot(path="screenshot.png")
      await browser.close()

      async def main():
      async with async_playwright() as playwright:
      await run(playwright)
      asyncio.run(main())
      028

      Nội dung tệp

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc


vỗ nhẹ

Đã thêm vào. v1. 8 trang. vỗ nhẹ

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương pháp này khai thác một phần tử phù hợp với

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 bằng cách thực hiện các bước sau

  1. Tìm một phần tử phù hợp với
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96. Nếu không có, hãy đợi cho đến khi một phần tử phù hợp được gắn vào DOM
  2. Đợi kiểm tra khả năng hành động trên phần tử phù hợp, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    45 được đặt. Nếu phần tử bị tách ra trong quá trình kiểm tra, toàn bộ hành động sẽ được thử lại
  3. Cuộn phần tử vào chế độ xem nếu cần
  4. Sử dụng để chạm vào tâm của phần tử hoặc
    from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 được chỉ định
  5. Đợi điều hướng bắt đầu thành công hoặc thất bại, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    47 được đặt

Khi tất cả các bước được kết hợp chưa hoàn thành trong thời gian

page.once("load", lambda: print("page loaded!"))
56 được chỉ định, phương pháp này sẽ đưa ra Lỗi hết thời gian chờ. Vượt qua thời gian chờ bằng 0 sẽ vô hiệu hóa điều này

Ghi chú

yêu cầu tùy chọn

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
040 của ngữ cảnh trình duyệt được đặt thành true

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
83

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    45 bool (tùy chọn)

    Có bỏ qua kiểm tra khả năng hành động hay không. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    763 ["Alt". "Kiểm soát". "siêu". "Shift"] (tùy chọn)

    Các phím bổ trợ để nhấn. Đảm bảo rằng chỉ những công cụ sửa đổi này được nhấn trong quá trình hoạt động, sau đó khôi phục lại các công cụ sửa đổi hiện tại. Nếu không được chỉ định, các công cụ sửa đổi hiện đang được nhấn sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 (tùy chọn)

    • page.once("load", lambda: print("page loaded!"))
      50
    • page.once("load", lambda: print("page loaded!"))
      51

    Một điểm để sử dụng so với góc trên cùng bên trái của hộp đệm phần tử. Nếu không được chỉ định, sử dụng một số điểm có thể nhìn thấy của phần tử

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

  • page.once("load", lambda: print("page loaded!"))
    58 bool (tùy chọn) Đã thêm vào. v1. 11

    Khi được đặt, phương thức này chỉ thực hiện kiểm tra khả năng hành động và bỏ qua hành động. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32. Hữu ích để đợi cho đến khi phần tử sẵn sàng cho hành động mà không thực hiện nó


text_content

Đã thêm vào. v1. 8 trang. text_content

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Trả lại

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
055

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
84

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

trả lại

  • |

loại

Đã thêm vào. v1. 8 trang. loại

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Gửi một sự kiện

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
968,
import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
061/
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
835 và
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
969 cho mỗi ký tự trong văn bản.
import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
064 có thể được sử dụng để gửi các sự kiện bàn phím chi tiết. Để điền giá trị vào các trường biểu mẫu, hãy sử dụng

Để nhấn một phím đặc biệt, như

from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
952 hoặc
from playwright.sync_api import sync_playwright

def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("https://example.com")
page.screenshot(path="screenshot.png")
browser.close()

with sync_playwright() as playwright:
run(playwright)
942, hãy sử dụng

Cách sử dụng

  • Đồng bộ hóa
  • Không đồng bộ

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
85

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
86

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    97

    Một văn bản để nhập vào một yếu tố tập trung

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    758 (tùy chọn)

    Thời gian chờ giữa các lần nhấn phím tính bằng mili giây. Mặc định là 0

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc


bỏ chọn

Đã thêm vào. v1. 8 trang. bỏ chọn

thận trọng

Sử dụng dựa trên định vị thay thế. Đọc thêm về máy định vị

Phương pháp này bỏ chọn một phần tử phù hợp với

def log_request(intercepted_request):
print("a request was made:", intercepted_request.url)
page.on("request", log_request)
# sometime later...
page.remove_listener("request", log_request)
96 bằng cách thực hiện các bước sau

  1. Tìm một phần tử phù hợp với
    def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96. Nếu không có, hãy đợi cho đến khi một phần tử phù hợp được gắn vào DOM
  2. Đảm bảo rằng phần tử phù hợp là hộp kiểm hoặc đầu vào radio. Nếu không, phương pháp này ném. Nếu phần tử đã được bỏ chọn, phương thức này sẽ trả về ngay lập tức
  3. Đợi kiểm tra khả năng hành động trên phần tử phù hợp, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    45 được đặt. Nếu phần tử bị tách ra trong quá trình kiểm tra, toàn bộ hành động sẽ được thử lại
  4. Cuộn phần tử vào chế độ xem nếu cần
  5. Sử dụng để nhấp vào trung tâm của phần tử
  6. Đợi điều hướng bắt đầu thành công hoặc thất bại, trừ khi tùy chọn
    page.once("load", lambda: print("page loaded!"))
    47 được đặt
  7. Đảm bảo rằng phần tử hiện không được chọn. Nếu không, phương pháp này ném

Khi tất cả các bước được kết hợp chưa hoàn thành trong thời gian

page.once("load", lambda: print("page loaded!"))
56 được chỉ định, phương pháp này sẽ đưa ra Lỗi hết thời gian chờ. Vượt qua thời gian chờ bằng 0 sẽ vô hiệu hóa điều này

Cách sử dụng

import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
webkit = playwright.webkit
browser = await webkit.launch()
context = await browser.new_context()
page = await context.new_page()
await page.goto("https://example.com")
await page.screenshot(path="screenshot.png")
await browser.close()

async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
87

Tranh luận

  • def log_request(intercepted_request):
    print("a request was made:", intercepted_request.url)
    page.on("request", log_request)
    # sometime later...
    page.remove_listener("request", log_request)
    96

    Một bộ chọn để tìm kiếm một phần tử. Nếu có nhiều phần tử thỏa mãn bộ chọn, phần tử đầu tiên sẽ được sử dụng

  • page.once("load", lambda: print("page loaded!"))
    45 bool (tùy chọn)

    Có bỏ qua kiểm tra khả năng hành động hay không. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • page.once("load", lambda: print("page loaded!"))
    47 bool (tùy chọn)

    Các hành động bắt đầu điều hướng đang chờ các điều hướng này diễn ra và các trang bắt đầu tải. Bạn có thể chọn không chờ đợi bằng cách đặt cờ này. Bạn sẽ chỉ cần tùy chọn này trong các trường hợp ngoại lệ, chẳng hạn như điều hướng đến các trang không thể truy cập. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32

  • from playwright.sync_api import sync_playwright

    def run(playwright):
    webkit = playwright.webkit
    browser = webkit.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://example.com")
    page.screenshot(path="screenshot.png")
    browser.close()

    with sync_playwright() as playwright:
    run(playwright)
    740 (tùy chọn) Đã thêm vào. v1. 11

    • page.once("load", lambda: print("page loaded!"))
      50
    • page.once("load", lambda: print("page loaded!"))
      51

    Một điểm để sử dụng so với góc trên cùng bên trái của hộp đệm phần tử. Nếu không được chỉ định, sử dụng một số điểm có thể nhìn thấy của phần tử

  • page.once("load", lambda: print("page loaded!"))
    52 bool (tùy chọn) Đã thêm vào. v1. 14

    Khi đúng, lệnh gọi yêu cầu bộ chọn phân giải thành một phần tử. Nếu bộ chọn đã cho phân giải thành nhiều phần tử, lệnh gọi sẽ đưa ra một ngoại lệ

  • page.once("load", lambda: print("page loaded!"))
    56 (tùy chọn)

    Thời gian tối đa tính bằng mili giây, mặc định là 30 giây, vượt qua

    page.once("load", lambda: print("page loaded!"))
    57 để tắt thời gian chờ. Giá trị mặc định có thể được thay đổi bằng cách sử dụng các phương thức hoặc

  • page.once("load", lambda: print("page loaded!"))
    58 bool (tùy chọn) Đã thêm vào. v1. 11

    Khi được đặt, phương thức này chỉ thực hiện kiểm tra khả năng hành động và bỏ qua hành động. Mặc định là

    page.once("load", lambda: print("page loaded!"))
    32. Hữu ích để đợi cho đến khi phần tử sẵn sàng cho hành động mà không thực hiện nó


khả năng tiếp cận

Đã thêm vào. v1. 8 trang. khả năng tiếp cận

thận trọng

Tài sản này không được khuyến khích. Vui lòng sử dụng các thư viện khác như Axe nếu bạn cần kiểm tra khả năng truy cập trang. Xem nút của chúng tôi. js hướng dẫn tích hợp với Ax