Profile với Selenium trong WPF
Khóa học Selenium cơ bản đến nâng cao

Danh sách bài học
Profile với Selenium trong WPF
Dẫn nhập
Trong bài trước, Kteam đã giới thiệu đến bạn XPATH TRONG SELENIUM.
Ở bài này, Kteam sẽ giới thiệu tới bạn khái niệm Profile với Selenium trong WPF.
Nội dung
Để đọc hiểu bài này tốt nhất bạn cần:
- Cài đặt sẵn VISUAL STUDIO 2015 hoặc 2017 community
- Xem qua bài TỔNG QUAN VỀ SELENIUM.
- Có kiến thức về C# CƠ BẢN, LẬP TRÌNH OOP trong C#, và LẬP TRÌNH WPF.
- Có kiến thức HTML cơ bản.
- Có kiến thức cơ bản về JavaScript.
Bạn và Kteam sẽ cùng tìm hiểu những nội dung sau đây
- Profile trong trình duyệt web là gì?
- Profile trong Selenium.
Profile trong trình duyệt web là gì
Với trình duyệt web, bạn hoàn toàn có thể tạo riêng cho mình một profile để lưu dữ các thông tin như cookie, lịch sử duyệt web và nhiều thứ khác cho riêng cá nhân mình. Khi cần thì chuyển sang profile khác sài như chưa từng có cuộc chia ly. Có thể hiểu nôm na profile là tài khoản trình duyệt web trên máy tính cá nhân của bạn.
Bạn có thể “giả danh” làm một người khác bằng cách copy các file trong profile của họ vào profile của mình. Và thế là khi duyệt web bạn sẽ thấy lịch sử duyệt web, cookie của người kia trên máy bạn. Đó là lý do các hãng công nghệ lớn họ tích hợp xác minh 2 bước và cảnh báo thiết bị lạ đăng nhập.
Để tạo một profile thì bạn hoàn toàn có thể google từ khóa “tạo Profile Firefox hoặc tạo Profile Chrome và thực hành”.
Link tham khảo:
- Firefox:
https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles
- Chrome:
https://support.google.com/chrome/answer/2364824?co=GENIE.Platform%3DDesktop&hl=en
Khi tạo xong sẽ có một folder tương ứng với profile bạn vừa tạo tại thư mục:
- Firefox:
%APPDATA% -> \Mozilla\Firefox\Profiles\
- Chrome:
%APPDATA% -> \Local\Google\Chrome\User Data\
Mọi thông tin của một profile sẽ lưu ở một trong các folder trong đường dẫn nêu trên.
Vậy cùng tưởng tượng. Sẽ tiện biết mấy nếu bạn có thể dùng lịch sử duyệt web của một người dày dặn kinh nghiệm duyệt web. Các website sẽ tưởng rằng bạn là người đó. Thế là độ tin cậy của bạn tăng cao. Hay chỉ đơn giản là bạn muốn có cookie của người đó khi duyệt web cho lẹ. Thật là đã…
Vậy với Selenium thì chúng ta làm sao?
Profile trong Selenium
Để sử dụng profile sẵn có cho Selenium thì chúng ta dùng đoạn code mẫu sau:
- Firefox:
FirefoxProfile firefoxProfile = new FirefoxProfile("profile path");
// khởi tạo WebDriver
FirefoxDriver firefoxDriver = new FirefoxDriver(firefoxProfile);
- Chrome:
ChromeOptions option = new ChromeOptions();
option.AddArgument("user-data-dir=profile path");
ChromeDriver chromeDriver = new ChromeDriver(option);
Với cách này bạn đã sử dụng profile khác tùy ý được rồi.
Lưu ý: Cái này là để dùng profile đã có thôi. Chứ các thông tin sau này bạn tạo ra Selenium không lưu ở profile path bạn truyền vào. Selenium lưu ở profile mặc định được tạo ra mỗi lần bạn new FirefoxDriver(); hoặc new ChromeDriver();
Với Firefox thì profile mặc định sau mỗi lần new sẽ tạo ra một thư mục profile mới tại đường dẫn:
C:\Users\{User}\AppData\Local\Temp
Mỗi lần bạn new sẽ tạo 1 folder profile có cấu trúc:
rust_mozprofile.doKV0oKYKynl
- Với doKV0oKYKynl là một chuỗi sinh ra ngẫu nhiên
Với Chrome thì mình đợi các bạn bổ sung thông tin giúp Kteam nhé!
Vì đặc tính này nên khi bạn thao tác với Selenium xong và muốn lưu lịch sử web thì bạn copy thông tin từ folder profile Kteam đã hướng dẫn ở trên nhé!
Kết luận
Qua bài này, các bạn đã biết Profile trên trình duyệt và cách dùng Profile trong selenium như thế nào?
Ở bài sau, Kteam sẽ nói về PROXY TRONG SELENIUM.
Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó!”
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Profile với Selenium trong WPF dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!

Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Nội dung bài viết
Tác giả/Dịch giả

Nhà sáng lập Howkteam.com, KQuiz.vn & tác giả các khóa học C#, Auto, Unity3D, Python....
Với mong muốn mang đến kiến thức chất lượng, miễn phí cho mọi người, với tâm huyết phá bỏ rào cản kiến thức từ việc giáo dục thu phí. Tôi đã cùng đội ngũ Kteam đã lập nên trang website này để thế giới phẳng hơn.
Hãy cùng chúng tôi lan tỏa kiến thức đến cộng đồng!
Khóa học
Khóa học Selenium cơ bản đến nâng cao
Serial này dành cho các bạn muốn học, tìm hiểu về lập trình tools (chương trình tự động) tạo account google, facebook, tools tự động offer, tool tự động mua coin ICO, và nhiều tool tự động khác tùy theo nhu cầu riêng.
Về mặt cơ bản, cấu trúc selenium rất đơn giản nên những người không rành code cũng có thể thao tác. Tuy nhiên để tạo ra các sản phẩm hoàn chỉnh, có chức năng ổn thì cần kiến thức lập trình cơ bản, HTML, CSS và JavaScript…
Trong khóa học này Kteam sẽ giới thiệu đến các bạn một công cụ mạnh mẽ giúp bạn tạo ra các Script tự động thao tác với Web browers – Đó chính là Selenium
Thông qua khóa học LẬP TRÌNH SELENIUM, Kteam sẽ hướng dẫn các bạn những thao tác cơ bản với Selenium. Bạn hoàn toàn có thể kết hợp Selenium và các code C#, Java, Python hay ngôn ngữ lập trình khác mà Selenium có thư viện hỗ trợ, để tạo ra một tổ hợp thao tác kinh khủng khiếp cho tool của bạn.
Em bị lỗi "Google chrome can't read and write to its data directory: profile\0" thì phaỉ sửa như thế nào a
Xin chào!
Mình làm theo hướng dẫn bài 6 để mở profile Firefox nhưng lại báo lỗi:
cannot convert from 'OpenQA.Selenium.Firefox.FirefoxProfile' to 'OpenQA.Selenium.Firefox.FirefoxOptions'
Xin được trợ giúp ạ!
https://i.imgur.com/W1Og409.png
Nếu muốn kết thúc xong thao tác trên profile 1, mình muốn thao tác y vậy trên profile 2 mà không cần phải can thiệp thì tạo vòng lặp ntn ad
Tìm mãi trên mạng không có cách nào tạo profile thông qua selenium cả. Toàn load profile sẵn có thôi.
Ad có giải pháp nào không?