Làm cách nào để tự động điền tên người dùng và mật khẩu trong python?

Trong trường hợp hiện tại này, mọi trang web đều sử dụng xác thực và chúng tôi phải đăng nhập bằng cách nhập thông tin đăng nhập phù hợp. Nhưng đôi khi việc đăng nhập lại vào một trang web cụ thể trở nên rất bận rộn. Vì vậy, để giải quyết vấn đề này, chúng ta hãy xây dựng bot đăng nhập tự động của riêng mình bằng python

Chúng tôi sẽ sử dụng Selenium [thư viện python] để tạo bot đăng nhập tự động. Thư viện Selenium của Python giúp chúng ta truy cập tất cả các chức năng của Selenium WebDriver như Firefox, Chrome, Remote, v.v.

Cài đặt

Trước hết, chúng ta phải cài đặt selen bằng lệnh bên dưới

pip install selenium

Sau khi cài đặt Selenium thành công, chúng ta cũng phải cài đặt Chromedriver để truy cập Chrome webdriver của Selenium. Bạn có thể tải xuống tương tự từ đây [Tải xuống phiên bản theo phiên bản chrome hệ thống của bạn và theo hệ điều hành của bạn]

Đảm bảo rằng bạn đã lưu ý vị trí tải xuống chromedriver [vì nó được sử dụng trong tập lệnh python của chúng tôi]. Bây giờ Sau khi tải xuống, giải nén tệp zip và vui lòng lưu ý vị trí tệp của tệp được giải nén vì chúng tôi cần nó sau này trong mã python. [Bạn có thể tìm vị trí bằng cách nhấp vào thuộc tính và sau đó nhấp vào chi tiết]

Tự động hóa chắc chắn là một trong những kỹ năng được khao khát nhất mà một lập trình viên có thể sở hữu. Tự động hóa thường được sử dụng cho các tác vụ lặp đi lặp lại, nhàm chán, tốn thời gian hoặc không hiệu quả nếu không sử dụng tập lệnh

Với tính năng tự động hóa web, bạn có thể dễ dàng tạo bot để thực hiện các tác vụ khác nhau trên web, chẳng hạn như theo dõi giá khách sạn cạnh tranh trên Internet và xác định giá tốt nhất

Cá nhân tôi luôn thấy việc đăng nhập vào email của mình khá lặp đi lặp lại và nhàm chán, vì vậy, để có một ví dụ đơn giản giúp các bạn bắt đầu với tự động hóa web, hãy triển khai một tập lệnh Python tự động để đăng nhập bằng một cú nhấp chuột vào tài khoản Gmail

Giờ đây, vấn đề chỉ là sử dụng các thuộc tính HTML

 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
2 để tìm các phần tử theo chương trình

Trong mã bên dưới, chúng tôi chỉ đơn giản là tìm kiếm trường nhập tên người dùng trước

 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
2 và điền vào đó bằng văn bản mong muốn. Sau đó, chúng tôi đang tìm kiếm nút Tiếp theo sẽ chuyển tiếp bằng hoạt ảnh nhanh trước khi nhắc chúng tôi nhập mật khẩu.

Các lệnh

 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
1 và
 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
2 thực hiện chính xác như tên gọi của chúng —
 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
1 mô phỏng thao tác nhấn phím trong phần tử mong muốn và
 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
2 mô phỏng thao tác nhấp chuột

 # fill in username and hit the next button
 username = browser.find_element_by_id['Email']
 username.send_keys[usernameStr]
 nextButton = browser.find_element_by_id['next']
 nextButton.click[]

Chúng ta có thể làm điều tương tự đối với trường nhập mật khẩu, cũng như đối với nút Đăng nhập . Tuy nhiên, hai mục này chỉ xuất hiện trên trang sau khi chuyển đổi hoạt ảnh.

Điều đó nói rằng, chúng tôi cần chương trình đợi vài giây trước khi tiếp tục tìm kiếm các phần tử. Phần lớn, giai đoạn mã này không khác với giai đoạn trước. Chúng tôi chỉ cần hướng dẫn trình duyệt đợi tối đa 10 giây trước khi tìm mục nhập mật khẩu

 # wait for transition then continue to fill items
 password = WebDriverWait[browser, 10].until[
 EC.presence_of_element_located[[By.ID, 'Passwd']]]
 password.send_keys[passwordStr]
 
 signInButton = browser.find_element_by_id['signIn']
 signInButton.click[]
Từ cuối cùng

Bạn vừa hoàn thành việc tạo bot truy cập trang web, nhập tên người dùng và mật khẩu của bạn và đăng nhập thành công cho bạn, tự động hóa toàn bộ quy trình chỉ bằng một cú nhấp chuột. Tôi biết đây là một cuộc biểu tình đơn giản, nhưng khả năng là vô tận

Cùng lưu ý đó, hãy cẩn thận với cách bạn sử dụng kỹ năng này. Một số người sử dụng bot và tập lệnh tự động để tham gia rút thăm trúng thưởng hàng nghìn lần, hoàn toàn không quan tâm đến các điều khoản và điều kiện. Những người khác sử dụng chúng cho mục đích xấu hơn

Chỉ cần đảm bảo sử dụng tự động hóa một cách có mục đích và cẩn thận, bởi vì nó thực sự là một kỹ năng rất cần thiết trong cộng đồng lập trình

Yêu cầu Selenium bao gồm ''auto-open-devtools-for-tabs'' khi khởi chạy chrome, đây là một ví dụ sử dụng cấu hình nightwatch

...

chrome: {
  desiredCapabilities: {
    browserName: 'chrome',
    javascriptEnabled: true,
    acceptSslCerts: true,
    chromeOptions: {
      'args': ['incognito', 'disable-extensions', 'auto-open-devtools-for-tabs']
    }
  }
},
...

Javascript – Trang web có thể phát hiện khi bạn đang sử dụng Selenium với chromedriver không

Về cơ bản, cách hoạt động của tính năng phát hiện Selenium là chúng kiểm tra các biến JavaScript được xác định trước xuất hiện khi chạy với Selenium. Các tập lệnh phát hiện bot thường xem bất kỳ thứ gì có chứa từ "selenium"/"webdriver" trong bất kỳ biến nào [trên đối tượng cửa sổ] và cả các biến tài liệu có tên là

 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
4 và
username = Select[browser.find_element_by_name['Username']]
password = Select[browser.find_element_by_name['Password']]
username.select_by_visible_text["text"]
password.select_by_visible_text["text"]
0. Tất nhiên, tất cả điều này phụ thuộc vào trình duyệt bạn đang sử dụng. Tất cả các trình duyệt khác nhau hiển thị những thứ khác nhau

Đối với tôi, tôi đã sử dụng Chrome, vì vậy, tất cả những gì tôi phải làm là đảm bảo rằng

 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
4 không còn tồn tại dưới dạng biến tài liệu nữa và voilà [tải xuống mã nguồn chromedriver, sửa đổi chromedriver và biên dịch lại
 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
4 dưới tên khác. ]

Đây là chức năng tôi đã sửa đổi trong chromedriver

tập tin gọi_hàm. js

function getPageCache[opt_doc] {
  var doc = opt_doc || document;
  //var key = '$cdc_asdjflasutopfhvcZLmcfl_';
  var key = 'randomblabla_';
  if [![key in doc]]
    doc[key] = new Cache[];
  return doc[key];
}

[Chú ý nhận xét. Tất cả những gì tôi đã làm là biến

 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
4 thành
username = Select[browser.find_element_by_name['Username']]
password = Select[browser.find_element_by_name['Password']]
username.select_by_visible_text["text"]
password.select_by_visible_text["text"]
4. ]

Đây là mã giả thể hiện một số kỹ thuật mà mạng bot có thể sử dụng

 usernameStr = 'putYourUsernameHere'
 passwordStr = 'putYourPasswordHere'
1

Theo người dùng szx, cũng có thể chỉ cần mở chromedriver. exe trong trình chỉnh sửa hex và chỉ cần thực hiện thay thế theo cách thủ công mà không thực sự thực hiện bất kỳ thao tác biên dịch nào

Làm cách nào để điền vào biểu mẫu bằng Selenium Python?

Trình diễn. Làm cách nào để tự động điền vào biểu mẫu web bằng Python bằng Selenium? .
Mở biểu mẫu Đăng ký tài khoản trong sân chơi thương mại điện tử LambdaTest
Điền thông tin cá nhân
điền mật khẩu
Đăng ký nhận bản tin
Chấp nhận các điều khoản và điều kiện
Nhấp vào nút Tiếp tục

Làm cách nào để sử dụng Selenium trong Python?

Có các bước sau để định cấu hình Selenium bằng Python. .
Tải xuống và cài đặt Python trên Windows
Cài đặt thư viện Selenium trong Python
Tải xuống và cài đặt PyCharm
Tạo một dự án mới và viết kịch bản thử nghiệm Selenium
Chạy và xác thực các kịch bản thử nghiệm

Làm cách nào để chuyển tên người dùng và mật khẩu trong Selenium?

IDE Selenium mới . Tên người dùng và mật khẩu phải được thêm vào với định dạng. https. //tên tài khoản. mật khẩu@URL .

Làm cách nào để cài đặt Selenium cho Python?

Cài đặt trình điều khiển web .
Chuyển đến trang phát hành tắc kè. Tìm phiên bản trình điều khiển mới nhất cho nền tảng của bạn và tải xuống. Ví dụ. .
Giải nén tập tin với. tar -xvzf tắc kè*
Làm cho nó có thể thực thi được. chmod +x tắc kè
Di chuyển tệp đến usr/local/bin

Chủ Đề