# File upload

***

## Cấu hình

#### Loại Selector

Chọn phương pháp định vị phần tử tải lên tệp (thường là ô input type="file"):

* **CSS selector** – ví dụ: `input[type="file"]`
* **XPath** – ví dụ: `//input[@type='file']`
* **Văn bản** – ví dụ: `"Chọn tệp"`&#x20;

#### Ô nhập Selector

Nhập selector tương ứng với phương pháp đã chọn để xác định chính xác vị trí của ô tải lên trên giao diện.

#### Loại file tải lên

Chọn định dạng dữ liệu để tải lên:

* **File:** Đường dẫn đến tệp vật lý trong máy tính (thường dùng nhất)
* **URL (ảnh):** Tải ảnh từ liên kết trực tiếp
* **Base64 (ảnh):** Tải ảnh từ chuỗi mã hóa base64

#### Đường dẫn tệp

Nhập đường dẫn đến tệp cần tải lên, tùy theo loại file đã chọn ở trên:

* Ví dụ với File: `C:/Users/Pea/Desktop/avatar.jpg`
* Với URL: `https://example.com/logo.png`
* Với Base64: `data:image/png;base64,iVBORw0KGgoAAAANS...`&#x20;

#### Click để tải lên (checkbox)

Bật tùy chọn này nếu bạn cần hệ thống **click vào phần tử upload** trước khi đẩy file vào (phù hợp với các trang cần tương tác để hiển thị ô upload).

***

#### Ví dụ

<details>

<summary>Upload file PDF từ máy tính</summary>

* Loại selector: XPath
* Selector: `//input[@type='file']`
* Loại file: File
* Đường dẫn file: `C:/Users/pea/Documents/testfile.pdf`
* Click để tải lên: Bật

Kết quả: File PDF được chọn và tải lên từ ổ cứng máy tính.

</details>

<details>

<summary>Upload ảnh bằng Base64</summary>

* Loại selector: CSS

- Selector: `input#upload-avatar`
- Loại file: Base64 (ảnh)
- Đường dẫn file: `data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...`
- Click để tải lên: Tắt

Kết quả: Node gán ảnh trực tiếp vào input file bằng chuỗi base64, không cần click.

</details>
