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("//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
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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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_scriptThê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ộcpage.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_tagThê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ạipage.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_tagThê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ạipage.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ầnNế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("//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 dungNhậ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("//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ảnhNhậ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("//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("//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("//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!"))
43Mộ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!"))
44Mộ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!"))
32page.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!"))
32page.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!"))
page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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!"))
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ặcpage.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_mediaPhươ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("//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("//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("//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("//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. 9Mô 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àupage.once("load", lambda: print("page loaded!"))
70 "đang hoạt động". "không ai". "null" (tùy chọn) Đã thêm vào. v1. 15page.once("load", lambda: print("page loaded!"))
61 "màn hình". "in". "null" (tùy chọn) Đã thêm vào. v1. 9Thay đổ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 CSSpage.once("load", lambda: print("page loaded!"))
76 "giảm". "không ưu tiên". "null" (tùy chọn) Đã thêm vào. v1. 12Mô 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("//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("//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("//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("//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("//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("//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!"))
81Biể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á_handleTrả 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("//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("//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("//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("//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("//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("//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!"))
81Biể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_messageThự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("//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_downloadThự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("//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("//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("//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)
08Tê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)
09page.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_chooserThự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("//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("//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("//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ặcpage.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("//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("//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
- def log_request(intercepted_request):
trả lại
- [Phản ứng]
mong đợi_popup
Đã thêm vào. v1. 9 trang. mong đợi_popupThự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("//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_requestChờ 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("//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("//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]. boolChuỗ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)
43page.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_finishedThự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("//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_responseTrả 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("//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("//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]. boolYê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)
43page.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_websocketThự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("//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_workerThự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("//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_bindingPhươ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("//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("//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("//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("//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)
69Tê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)
71Chứ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ăngPhươ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("//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("//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)
69Tê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)
71Hàm gọi lại sẽ được gọi trong ngữ cảnh của Playwright
khung
Đã thêm vào. v1. 8 trang. khungTrả 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("//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("//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ộcpage.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_locatorKhi 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("//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("//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)
96Bộ 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. khungMộ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("//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_textCho 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("//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("//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ẫuVă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ãnCho 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("//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("//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ẫuVă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_placeholderCho 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("//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("//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ẫuVă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_roleCho 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("//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("//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("//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("//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("//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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
008 gốcHọ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("//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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
010Ghi 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("//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. 28Liệ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ắngfrom playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
019Họ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("//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("//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("//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("//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("//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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
028Họ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àyHọ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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
033Họ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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
036Họ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_idXá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("//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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
039. MẫuId để định vị phần tử theo
trả lại
- định vị
get_by_text
Đã thêm vào. v1. 27 trang. get_by_textCho 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("//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("//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("//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("//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("//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("//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("//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("//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("//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ẫuVă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_titleCho 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("//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("//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ẫuVă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ạiTrả 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("//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ặcdef 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("//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("//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
- def log_request(intercepted_request):
trả lại
- Phản ứng
tiến triển
Đã thêm vào. v1. 8 trang. tiến triểnTrả 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("//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ặcdef 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("//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("//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
- def log_request(intercepted_request):
trả lại
- Phản ứng
đi đến
Đã thêm vào. v1. 8 trang. đi đếnTrả 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("//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("//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!"))
23URL để đ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("//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)
43from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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ặcdef 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("//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("//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
- def log_request(intercepted_request):
trả lại
- Phản ứng
được_đóng
Đã thêm vào. v1. 8 trang. được_đóngCho 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("//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("//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)
96Bộ 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("//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("//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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
096Lư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("//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("//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("//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_frameKhung 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("//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("//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ừngTạ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("//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("//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("//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
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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
532from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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("//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("//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("//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("//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("//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("//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("//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
- Ngày in định dạng from playwright.sync_api import sync_playwright
from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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!"))
57from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
57from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
57from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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 đĩafrom playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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("//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("//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("//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ấyfrom playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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à 2from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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ạiPhươ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("//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ặcdef 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("//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("//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
- def log_request(intercepted_request):
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("//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("//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("//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("//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("//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("//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("//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("//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]. boolMẫ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)
43from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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. 15Tầ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_harNế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("//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("//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("//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("//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ạifrom playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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ìnhTrả 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("//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("//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("//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("//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("//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- 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
from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
603from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
50tọ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!"))
51tọ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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
510chiề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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
511chiề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("//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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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("//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("//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!"))
32page.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 đĩafrom playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
621from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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("//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ơnMặ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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
624page.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ặcpage.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("//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_contentCá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("//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("//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ặcdef 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("//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("//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
- def log_request(intercepted_request):
set_default_navigation_timeout
Đã thêm vào. v1. 8 trang. set_default_navigation_timeoutCà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("//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!"))
56Thờ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_timeoutCà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("//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!"))
56Thờ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_headersCá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("//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("//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_sizeTrong 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("//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("//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("//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("//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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
649from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
510chiề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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
511chiề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("//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ở đườngXó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("//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("//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]. boolMẫ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("//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. urlCá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("//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("//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_sizeCá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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
510chiề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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
511chiều cao trang tính bằng pixel
wait_for_event
Đã thêm vào. v1. 8 trang. wait_for_eventGhi 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("//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("//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)
08Tê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)
09page.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ăngTrả 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("//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("//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("//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("//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!"))
81Biể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!"))
81from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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("//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("//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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
678page.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_stateTrả 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("//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("//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("//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("//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("//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("//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("//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("//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
- def log_request(intercepted_request):
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_selectorTrả 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("//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("//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("//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("//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("//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("//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)
96Mộ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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
703
- from playwright.sync_api import sync_playwright
page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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("//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("//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("//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!"))
56Thờ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("//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("//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]. boolMẫ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ặcdef 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("//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("//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
- def log_request(intercepted_request):
công nhân
Đã thêm vào. v1. 8 trang. công nhânPhươ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("//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ímCá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("//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ộtCá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("//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ầuTrì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("//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 ứngCá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("//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 trathậ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
- 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 - Đả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
- Đợ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 - Cuộn phần tử vào chế độ xem nếu cần
- Sử dụng để nhấp vào trung tâm của phần tử
- Đợ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 - Đả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("//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)
96Mộ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!"))
32page.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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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ặcpage.once("load", lambda: print("page loaded!"))
58 bool (tùy chọn) Đã thêm vào. v1. 11Khi đượ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ộtthậ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
- 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 - Đợ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 - Cuộn phần tử vào chế độ xem nếu cần
- 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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
740 được chỉ định - Đợ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("//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)
96Mộ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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
557from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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à 0page.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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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ặcpage.once("load", lambda: print("page loaded!"))
58 bool (tùy chọn) Đã thêm vào. v1. 11Khi đượ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. dblclickthậ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
- 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 - Đợ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 - Cuộn phần tử vào chế độ xem nếu cần
- 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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
740 được chỉ định - Đợ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("//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("//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("//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("//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("//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)
96Mộ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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
557from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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à 0page.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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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ặcpage.once("load", lambda: print("page loaded!"))
58 bool (tùy chọn) Đã thêm vào. v1. 11Khi đượ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ệnthậ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("//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("//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("//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("//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("//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
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("//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("//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("//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("//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)
96Mộ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!"))
22Loạ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("//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("//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("//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. 14Khi đú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_selectorthậ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("//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("//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)
96Một bộ chọn để truy vấn
page.once("load", lambda: print("page loaded!"))
81Biể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!"))
81page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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_allthậ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("//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("//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)
96Một bộ chọn để truy vấn
page.once("load", lambda: print("page loaded!"))
81Biể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 đầythậ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("//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("//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("//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("//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("//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("//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)
96Mộ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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
042Giá 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("//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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
838page.once("load", lambda: print("page loaded!"))
45 bool (tùy chọn) Đã thêm vào. v1. 13Có 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!"))
32page.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!"))
32page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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ểmthậ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("//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)
96Mộ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. 14Khi đú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_attributethậ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("//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)
96Mộ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)
69Tê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. 14Khi đú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ượnthậ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
- 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 - Đợ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 - Cuộn phần tử vào chế độ xem nếu cần
- 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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
740 được chỉ định - Đợ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("//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("//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)
96Mộ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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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. 28Cá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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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ặcpage.once("load", lambda: print("page loaded!"))
58 bool (tùy chọn) Đã thêm vào. v1. 11Khi đượ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_htmlthậ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("//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("//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)
96Mộ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. 14Khi đú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_textthậ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("//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("//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)
96Mộ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. 14Khi đú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àothậ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("//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("//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("//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("//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("//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("//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)
96Mộ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. 14Khi đú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_checkedthậ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("//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)
96Mộ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. 14Khi đú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óathậ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("//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)
96Mộ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. 14Khi đú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_editablethậ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("//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)
96Mộ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. 14Khi đú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ạtthậ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("//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)
96Mộ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. 14Khi đú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_hiddenthậ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("//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)
96Mộ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. 14Khi đú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ấythậ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("//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)
96Mộ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. 14Khi đú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ấnthậ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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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("//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)
96Mộ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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
926Tê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("//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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
959from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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("//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à 0page.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!"))
32page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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_selectorthậ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("//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)
96Mộ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. 14Khi đú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_allthậ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("//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("//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)
96Mộ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ọnthậ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("//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("//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("//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("//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("//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("//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("//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)
96Mộ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. 13Có 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!"))
32page.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!"))
32page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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ặcfrom playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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("//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("//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("//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ộcfrom playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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("//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("//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_checkedthậ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
- 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 - Đả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ó trạng thái được kiểm tra đúng, phương thức này sẽ trả về ngay lập tức
- Đợ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 - Cuộn phần tử vào chế độ xem nếu cần
- Sử dụng để nhấp vào trung tâm của phần tử
- Đợ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 - Đả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("//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)
96Mộ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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
006 boolNê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!"))
32page.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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
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ặcpage.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_filesthậ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("//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("//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("//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)
96Mộ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("//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)
69tê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("//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())
027Loạ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("//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())
028Nộ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!"))
32page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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
- 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 - Đợ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 - Cuộn phần tử vào chế độ xem nếu cần
- 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("//example.com")
page.screenshot(path="screenshot.png")
browser.close()
with sync_playwright() as playwright:
run(playwright)
740 được chỉ định - Đợ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("//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("//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)
96Mộ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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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ặcpage.once("load", lambda: print("page loaded!"))
58 bool (tùy chọn) Đã thêm vào. v1. 11Khi đượ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_contentthậ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("//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("//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)
96Mộ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. 14Khi đú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ạithậ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("//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("//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("//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("//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("//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("//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("//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("//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("//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)
96Mộ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)
97Mộ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("//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!"))
32page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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ọnthậ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
- 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 - Đả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
- Đợ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 - Cuộn phần tử vào chế độ xem nếu cần
- Sử dụng để nhấp vào trung tâm của phần tử
- Đợ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 - Đả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("//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)
96Mộ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!"))
32page.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!"))
32from playwright.sync_api import sync_playwright
def run(playwright):
webkit = playwright.webkit
browser = webkit.launch()
context = browser.new_context()
page = context.new_page()
page.goto("//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!"))
page.once("load", lambda: print("page loaded!"))
52 bool (tùy chọn) Đã thêm vào. v1. 14Khi đú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ặcpage.once("load", lambda: print("page loaded!"))
58 bool (tùy chọn) Đã thêm vào. v1. 11Khi đượ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ậnthậ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