# Switch frame

***

## Cấu hình:

#### Chọn loại frame:

* **Frame chính:** Quay trở lại khung trang chính sau khi đã thao tác trong iframe.
* **Frame phụ:** Chuyển vào một khung iframe cụ thể để tương tác.

#### Nếu chọn "Frame phụ", bạn cần định vị iframe bằng một trong các cách sau:

* **CSS Selector:** Ví dụ: `iframe[class*="content-frame"]`
* **XPath:** Ví dụ: `//iframe[contains(@src, 'ads')]`
* **Văn bản:** Chọn iframe theo đoạn văn bản gần hoặc chứa trong iframe (chỉ nên dùng khi selector không ổn định).

#### Lưu ý

* Trước khi thao tác được với các phần tử nằm trong iframe, bạn **bắt buộc phải sử dụng node Switch Frame** để di chuyển vào đúng khung đó.
* Nếu trang có nhiều iframe, hãy chắc chắn selector bạn dùng là duy nhất hoặc có logic rõ ràng để tránh nhầm lẫn.

***

#### Ví dụ

<details>

<summary>Đăng ký bằng Google trên một trang nhúng nút trong iframe</summary>

#### Trường hợp sai (nếu KHÔNG switch frame):

* Bạn dùng selector để click nút có nội dung `"Đăng ký bằng Google"`, ví dụ:

  ```css
  css
  button.google-signup
  ```
* Nhưng lệnh click không hoạt động.
* Lý do: **Nút đó nằm trong một `iframe`**, không phải DOM chính ⇒ phải "switch frame" trước.

***

#### ✅ Cách đúng: sử dụng Node **"Switch Frame"** trước khi thao tác

**🧩 Cấu hình Node Switch Frame:**

* **Chọn:** Frame phụ
* **Loại selector:** CSS Selector
* **Selector:**

  ```css
  css
  iframe[src*="accounts.google.com/gsi/button"]
  ```

> (hoặc xác định selector chính xác từ thẻ `iframe` chứa nút “Đăng ký bằng Google”)

&#x20;**Sau đó: Dùng Node Click**

* **Chọn theo:** CSS Selector
* **Selector:**

  ```css
  css
  button.google-signup
  ```

🔁 (Tùy chọn) Switch về Frame chính nếu cần thao tác tiếp bên ngoài

</details>
