Tindakan OS Browser
InvokeBrowser API menyediakan kontrol tingkat sistem operasi langsung atas sesi Amazon Bedrock Browser AgentCore . Sementara titik akhir WebSocket-based otomatisasi menggunakan DevTools Protokol Chrome (CDP) untuk interaksi browser, InvokeBrowser beroperasi pada tingkat OS, memungkinkan tindakan yang tidak dapat ditangani CDP — seperti berinteraksi dengan dialog cetak, pintasan keyboard, menu konteks klik kanan, peringatan, dan menangkap tangkapan layar layar penuh. JavaScript
Gambaran umum
Amazon Bedrock AgentCore Browser menyediakan dua cara untuk berinteraksi dengan sesi browser:
-
WebSocket-based otomatisasi (CDP): Menggunakan DevTools Protokol Chrome melalui WebSocket koneksi. Ini sangat ideal untuk tugas-tugas otomatisasi browser standar seperti menavigasi halaman, mengklik elemen DOM, mengisi formulir, dan mengekstrak konten halaman. Pustaka seperti Playwright dan penggunaan browser terhubung melalui titik akhir ini.
-
OS-level actions (InvokeBrowser): Menggunakan REST API untuk melakukan interaksi tingkat sistem operasi melalui tindakan mouse, keyboard, dan screenshot. Ini melengkapi CDP dengan menangani skenario di mana otomatisasi tingkat browser tidak mencukupi.
Gunakan InvokeBrowser saat agen Anda perlu:
-
Berinteraksi dengan dialog OS asli seperti dialog cetak, upload/download dialog file, atau petunjuk otentikasi yang berada di luar DOM browser
-
Menghentikan JavaScript peringatan, konfirmasi, atau permintaan yang memblokir eksekusi CDP
-
Gunakan pintasan keyboard (misalnya, ctrl+a, ctrl+p) yang memicu perilaku OS-level
-
Berinteraksi dengan menu konteks klik kanan yang diberikan oleh sistem operasi
-
Tangkap tangkapan layar desktop lengkap yang menyertakan konten di luar viewport browser, seperti notifikasi OS atau tata letak multi-jendela
-
Lakukan operasi drag-and-drop yang menjangkau seluruh jendela browser atau antara browser dan desktop
InvokeBrowser mengikuti pola yang sama seperti InvokeCodeInterpreter: operasi terpadu tunggal dengan pengiriman tipe tindakan. Anda mengirim permintaan dengan tepat satu tindakan, dan menerima hasil yang sesuai.
Tindakan yang didukung
InvokeBrowser mendukung jenis tindakan berikut melalui BrowserAction serikat pekerja. Tepat satu anggota tindakan harus ditetapkan per permintaan.
Tindakan mouse
Untuk semua tindakan mouse, nilai koordinat (x,y) harus benar-benar berada dalam batas viewport sesi browser. Rentang yang valid adalah 1 < x < viewport Width-2 dan 1 < y < Height-2 viewport. Ukuran viewport default adalah 1456 × 819 piksel, yang dapat dikonfigurasi saat memulai sesi menggunakan parameter. viewPort
| Tindakan | Bidang yang diperlukan | Bidang opsional | Deskripsi |
|---|---|---|---|
|
|
|
|
Klik pada koordinat yang ditentukan. |
|
|
|
— |
Pindahkan kursor ke koordinat yang ditentukan. |
|
|
|
|
Seret dari posisi awal hingga akhir. |
|
|
|
|
Gulir pada posisi yang ditentukan. |
Tindakan keyboard
| Tindakan | Bidang yang diperlukan | Bidang opsional | Deskripsi |
|---|---|---|---|
|
|
|
— |
Ketik string teks. Panjang maksimum: 10.000 karakter. |
|
|
|
|
Tekan tombol N kali. |
|
|
|
— |
Tekan kombinasi tombol (misalnya, |
Tindakan tangkapan layar
| Tindakan | Bidang yang diperlukan | Bidang opsional | Deskripsi |
|---|---|---|---|
|
|
— |
|
Tangkap desktop OS penuh (bukan hanya viewport browser). Format: PNG saja. |
Pertimbangan-pertimbangan
-
ASCII-only masukan teks:
keyTypeTindakan hanya mendukung karakter ASCII. Non-ASCII karakter (seperti Unicode atau karakter multi-byte) dilewati selama input. -
Tidak ada validasi nama kunci:
keyShortcutTindakankeyPressdan tidak memvalidasi apakah nama kunci yang ditentukan didukung. Jika Anda memberikan nama kunci yang tidak dikenal, API akan mengembalikan status SUCCESS tanpa melakukan tindakan yang diinginkan. Lihat nama kunci yang didukung yang tercantum di atas. -
Nama kunci yang didukung: Nama kunci untuk
keyPressdankeyShortcuttindakan harus dalam huruf kecil. Kunci yang didukung termasuk karakter tunggal (a0—z, —9), dan kunci bernama sepertienter,tab,space,backspace,delete,escape,ctrl,alt,shift.
Format permintaan dan respons
Permintaan
POST /browsers/{browserIdentifier}/sessions/invoke HTTP/1.1 x-amzn-browser-session-id: sessionId Content-type: application/json
Badan permintaan berisi action bidang dengan tepat satu anggota kumpulan BrowserAction serikat:
{ "action": { "mouseClick": { "x": 100, "y": 200, "button": "LEFT", "clickCount": 1 } } }
Respons
sessionIdDikembalikan melalui header x-amzn-browser-session-id respon. Badan respons berisi result bidang dengan hasil tindakan yang sesuai.
Tentang kesuksesan:
{ "result": { "mouseClick": { "status": "SUCCESS", "error": null } } }
Pada kegagalan, status bidang diatur ke GAGAL dan error bidang berisi deskripsi kegagalan.
Contoh
Contoh berikut menunjukkan cara menjalankan tindakan browser menggunakan AWS CLI AWS , SDK for Python (Boto3), dan API.