Khóa học Selenium cơ bản đến nâng ca...

Khóa học Selenium cơ bản đến nâng cao

Profile với Selenium trong WPF Profile với Selenium trong WPF Profile với Selenium trong WPF Profile với Selenium trong WPF Profile với Selenium trong WPF 1/5 (15 reviews)

Profile với Selenium trong WPF

Đã đăng 2017-12-25 22:06:01 bởi Kteam
10 bình luận 2681 lượt xem
Profile với Selenium trong WPF 1 /5 stars (1 reviews)
 

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:

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é!


Project tham khảo

Nếu quá trình thực hành của bạn không diễn ra suôn sẻ như bài hướng dẫn thực hiện, bạn có thể tham khảo Project mẫu của Kteam trong link bên dưới hoặc để lại BÌNH LUẬN để được hỗ trợ nhé!

Đừng quên like hoặc +1 Google để ủng hộ Kteam và tác giả 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 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 hoặc +1 Google để ủ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ÌNH LUẬ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. 

 

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Profile với Selenium trong WPF
vulong011194 2018-11-19 19:43:14

ad ơi, ad có thể thêm 1 bài về profile chrome đc không ạ ? Khó quá nó ko như FF.

0 bình chọn
Reply
Profile với Selenium trong WPF
DINH VAN HIEN 2018-08-06 20:30:49

Đoạn code trên ko build được. Chương trình báo là không convert  FirefoxProfile  to FirefoxOptions. Ai biết chỉ mình với, build mãi không được. Thank!

0 bình chọn
Reply
Profile với Selenium trong WPF
vinh 2018-01-19 00:46:11

FirefoxDriver driver = new FirefoxDriver(); thì những submit() "blank" vẫn open new Tab như bình thường

 FirefoxDriver driver = new FirefoxDriver(firefoxProfile); thì khi submit() "blank" sẽ  open new window.

Có cách nào cho nó mở new Tab như bình thường hoặc đi đến window vừa mở không anh?

0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
vinh 2018-01-19 09:01:44
Sorry vì câu hỏi thiếu kiến thức này. Mình đã sử dụng "ReadOnlyCollection windowHandles = driver.WindowHandles;" và thấy rằng nó lấy được tất cả các Tab (do driver mở) dù ở cùng hoặc khác cửa sổ
0 bình chọn
Reply
Profile với Selenium trong WPF
Pea Nguyen 2018-01-09 08:53:27

Cho em hỏi thêm về việc sử dụng ssh để thay đổi IP được không? ví dụ mình có con ssh thông tin gồm IP | user | pass

thì mình sử dụng thế nào để mỗi trình duyệt có IP khác nhau ? Nếu được mong anh bổ sung phần này vào bài giảng.

Em cảm ơn!

0 bình chọn
Reply
Profile với Selenium trong WPF
nguyendat111195 2018-01-05 16:30:33

Sau khi kết thúc script chỉ việc thêm hàm Quit() là giải phóng luôn bộ nhớ ở temp, Selenium tự động xóa trong temp luôn.

FirefoxProfile firefoxProfile = new FirefoxProfile(@"C:\Users\Dat\AppData\Roaming\Mozilla\Firefox\Profiles\3wyjg9xz.default");

            FirefoxDriver driver = new FirefoxDriver(firefoxProfile);

            driver.Navigate().GoToUrl("http://www.howkteam.vn");

            
            driver.Quit();

 

1 bình chọn
Reply
View all 2 comments
Kteam - Howkteam Free Education
K9 2018-01-06 22:31:29
vẫn quit mà có giải phóng đâu
0 bình chọn
Reply
Kteam - Howkteam Free Education
nguyendat111195 2018-01-07 20:58:10
E test phát nào phát đó đều giải phóng mà anh. Trong temp giải phóng cả
0 bình chọn
Reply
Profile với Selenium trong WPF
Pea Nguyen 2018-01-02 16:46:11

Nếu muốn mỗi trình duyệt mở lên có mỗi userAgent(nhiều trình duyệt, hệ điều hành, vv)  khác nhau để giả lập là các người dùng khác nhau đang lướt web thì thế nào ạ?

1 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
K9 2018-01-03 22:18:54
FirefoxProfile profile = new FirefoxProfile(); profile.SetPreference("general.useragent.override", "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25"); IWebDriver driver = new FirefoxDriver(profile);
0 bình chọn
Reply
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education