Bài 3. Làm việc với Element trong Selenium
Giới thiệu
Trong bài viết này, tiếp nối bài viết trước chúng ta sẽ tìm hiểu về Element trong Selenium và thực hành số thao tác cơ bản tìm kiếm Element và tác động lên chúng.
Mục tiêu
- Thiết lập dự án
Selenium C#thông quaVisual Stdio 2020(hoặc tương đương) - Thực hành một số thao tác về các
ElementtrongSelenium
Chuẩn bị
- Máy tính cài đặt sẵn
Visual Stdio 2020(hoặc tương đương) - Kiến thức về lập trình
C#vàWinFormcơ bản
Nội dung
1. Tạo dự án với Selenium C# (Xem lại bài viết đầu tiên)
2. Thao tác Element trong Selenium
- Một Website được cấu thành từ những phần tử Element bao gồm: Name, Id, Class Name và Tag. Việc lấy ra những thành phần giúp chúng ta tiếp cận và thao tác dễ dàng với Website cho các kịch bản Automation.
- Một số hàm quan trọng:
// Khởi tạo ChromeDriver
ChromeDriver chromeDriver = new ChromeDriver();
// Mở trình duyệt ở chế độ toàn màn hình
chromeDriver.Manage().Window.Maximize();
// Chuyển trang đến website tedu.com.vn
chromeDriver.Url = "https://tedu.com.vn/";
// Thực hiện điều hướng
chromeDriver.Navigate();
// Tìm phần tử bằng tên class
chromeDriver.FindElement(By.ClassName("className"));
// Tìm phần tử bằng CSS selector
chromeDriver.FindElement(By.CssSelector("css"));
// Tìm phần tử bằng ID
chromeDriver.FindElement(By.Id("id"));
// Tìm phần tử bằng liên kết text
chromeDriver.FindElement(By.LinkText("text"));
// Tìm phần tử bằng tên
chromeDriver.FindElement(By.Name("name"));
// Tìm phần tử bằng một phần của liên kết text
chromeDriver.FindElement(By.PartialLinkText("pText"));
// Tìm phần tử bằng tên tag
chromeDriver.FindElement(By.TagName("input"));
- Lưu ý:
+ Các hàm trên tìm ra phần tử Element đầu tiên với điều kiện.
+ Nếu chúng ta muốn tìm ra danh sách các phần tử Element với điều kiện thì thêm dùng "FindElements" (có thêm "s")
3. Thực hành
- Chúng ta Navigate tới một Website rồi tìm phần tử ClassName và Click vào nó.
private void button1_Click(object sender, EventArgs e)
{
// Thao tác với FireFox
//FirefoxDriver firefoxDriver = new FirefoxDriver();
// Thao tác với Chrome
ChromeDriver chromeDriver = new ChromeDriver();
// Mở trình duyệt ở chế độ toàn màn hình
chromeDriver.Manage().Window.Maximize();
// chuyển trang đến website howkteam.com
chromeDriver.Url = "https://tedu.com.vn/";
chromeDriver.Navigate();
// Chờ tối đa 5 giây để tìm phần tử Later button
Thread.Sleep(5000);
// Trên trang tedu.com.vn nếu gặp Later button thì click vào
var laterButton = chromeDriver.FindElement(By.Id("onesignal-slidedown-cancel-button"));
if (laterButton != null)
{
laterButton.Click();
}
// Tìm ra phần tử search input
var searchInput = chromeDriver.FindElement(By.ClassName("autosearch-input"));
// Nhập vào c#
searchInput.SendKeys("C#");
// Tìm phần tử button search
var searchButton = chromeDriver.FindElement(By.ClassName("button-search"));
// Nhấn vào
searchButton.Click();
}
- Kết quả:
Kết Luận
Trong bài viết này, chúng ta đã cùng nhau tìm hiểu về Element và thực hiện một bài thực hành trong Selenium. Tới đây các bạn có thử làm một số ví dụ thực hành khác trên các Website khác để tìm kiếm một phần tử Element và thử thao tác cơ bản Input hoặc Click vào để kiếm tra kết quả.
Tác giả: Đỗ Thiên Giang
Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.
Bài viết liên quan
Hiểu về AI, LLM, RAG và Agentic RAG trong 15 phút
Trong vài năm gần đây, trí tuệ nhân tạo (AI) đã bùng nổ mạnh mẽ và trở thành tâm điểm của cả thế giới công nghệ. Nhưng đi kèm với nó là hàng loạt khái niệm mới như LLM, RAG, hay Agentic RAG khiến nhiều người mới bắt đầu cảm thấy lúng túng.
Đọc thêm
Hướng dẫn tự triển khai N8N trên CentOS bằng Docker Compose và NGINX
N8N là công cụ mã nguồn mở cho phép bạn tự động hóa quy trình làm việc (workflow automation) và tích hợp nhiều dịch vụ khác nhau mà không cần phải lập trình.
Đọc thêm
Hướng dẫn phân tích độ phức tạp thuật toán chi tiết
Độ phức tạp của giải thuật là một cách để đánh giá hiệu quả của một giải thuật dựa trên hai yếu tố chính là độ phức tạp thời gian và độ phức tạp không gian.
Đọc thêm
Bài 6. Các thao tác với XPath và Selector trong Selenium
Bài viết này hướng dẫn bạn làm việc XPath và Css Selector trong Selenium.
Đọc thêm
Bài 5. Các thao tác với Web Browser trong Selenium
Bài viết này hướng dẫn bạn làm việc sâu Web Browser trong Selenium.
Đọc thêm
Bài 4. Thực thi Javascript trong Selenium
Bài viết này hướng dẫn bạn thực thi lệnh Javascript trong Selenium.
Đọc thêm
Bài 2. Các thao tác cơ bản về Selenium
Bài viết này hướng dẫn bạn tạo dự án Selenium C# và thực hiện thao tác cơ bản.
Đọc thêm
Bài 1. Giới thiệu về Selenium
Bài viết giới thiệu sơ lược về chuỗi bài Selenium.
Đọc thêm
Bài 18. Xây dựng Docker Compose .NET Core Và SQL Server
Hướng dẫn xây dựng Docker Compose .NET Core Và SQL Server
Đọc thêm
Bài 17. Xây dựng Docker Compose Java Spring Boot Và MySQL
Hướng dẫn xây dựng Docker Compose Java Spring Boot Và MySQL
Đọc thêm