Tự động hóa có thể được coi là một quá trình loại bỏ nỗ lực của con người trong một quy trình sử dụng máy điện tử hoặc robot để thực hiện các nhiệm vụ.
Trong bài viết này, chúng tôi sẽ xem xét tự động hóa các quy trình web.
Khả năng cho phép robot phần mềm tự động thực hiện các quy trình và tác vụ trên web được gọi là tự động hóa web.
Sử dụng tự động hóa web, chúng tôi có thể làm rất nhiều thứ, ví dụ:
- Tìm kiếm trên mạng.
- Xóa email.
- Điền vào các hình thức.
- Đăng nhập vào các trang web.
Nhu cầu về tốc độ thực hiện các nhiệm vụ lặp đi lặp lại là một điều cần thiết trong thế giới hiện đại, điều này làm cho tự động hóa cần thiết.
Selenium là một khung được sử dụng để kiểm tra ứng dụng web, tự động hóa các thử nghiệm phần mềm và cạo web.
Trong Python, Selenium có thể được coi là một tập hợp các thư viện giúp các nhà phát triển tương tác với Web để cho phép tự động hóa các quy trình web.
Selenium là một công cụ rất mạnh mẽ khi tương tác với các trình duyệt web, nó hỗ trợ tất cả các trình duyệt web hiện đại và có thể được mã hóa bằng các ngôn ngữ lập trình khác nhau như Java, Python, C#, v.v.
Trong hướng dẫn này, chúng tôi sẽ xem xét cách sử dụng selenium để viết các tập lệnh sẽ tự động hóa các tác vụ web cơ bản bằng Python.
Điều kiện tiên quyết
Để hiểu hướng dẫn này, người đọc phải quen thuộc:
- Thẻ HTML, các phần tử, ID và các lớp.
- Những điều cơ bản của ngôn ngữ lập trình Python
Mục tiêu
Trong hướng dẫn này, chúng tôi sẽ tập trung vào việc xây dựng hai tập lệnh tự động hóa Python.
Người ta sẽ thực hiện tìm kiếm Google dựa trên từ khóa, Đại học, và người kia sẽ tự động đăng nhập vào Quora.
Khi kết thúc hướng dẫn này, người đọc sẽ có thể viết các tập lệnh Python có thể:
- Tìm các yếu tố trong trình duyệt.
- Chèn văn bản để tạo thành các trường trong trình duyệt.
- Nhấp vào các nút trong trình duyệt.
Kết quả dự kiến sẽ là:
Thiết lập môi trường
Đầu tiên, chúng ta sẽ cần tạo ra một môi trường ảo trong Python. Nhấn vào đây để tìm hiểu làm thế nào để tạo ra một môi trường ảo.
Để làm việc với selenium, chúng tôi sẽ phải cài đặt selen. Để cài đặt, hãy sử dụng lệnh sau:
Chúng tôi cũng phải cài đặt trình điều khiển web [một công cụ cần thiết cho tự động hóa web]. Trình điều khiển web giúp chúng tôi tương tác với trình duyệt.
Nếu bạn đang sử dụng Windows, chúng tôi sẽ sử dụng Trình quản lý gói Windows được gọi là chocolatey
để cài đặt trình điều khiển web.
Nhấn vào đây để cài đặt sô cô la.
Để cài đặt, chúng tôi sẽ sử dụng lệnh bên dưới:
choco install chromedriver
Nếu bạn đang sử dụng macOS, chúng tôi sẽ sử dụng lệnh bên dưới:
brew cask install chromedriver
Phiên bản của chromedriver
phải tương thích với phiên bản trình duyệt của bạn.
Nếu bạn gặp lỗi tương thích, thì hãy tải xuống trình điều khiển dựa trên phiên bản trình duyệt của bạn từ đây.
Tự động hóa tìm kiếm của Google
Tạo tệp app.py
và thêm mã bên dưới:
from selenium import webdriver
driver = webdriver.Chrome[]
driver.get['//www.google.com/']
Đoạn mã trên được sử dụng để mở trình duyệt và yêu cầu web url
.
Dòng mã đầu tiên nhập trình điều khiển web từ Selenium. Dòng thứ hai mở trình điều khiển web Chrome
brew cask install chromedriver
0.Lưu ý: Có nhiều trình điều khiển web khác nhau cho các trình duyệt khác nhau. Nếu bạn thích sử dụng một trình duyệt khác, hãy duyệt qua tên trình điều khiển trên Internet.
Chẳng hạn, chúng tôi sẽ sử dụng
brew cask install chromedriver
1 cho trình duyệt Firefox.Trên dòng thứ ba, chúng tôi sử dụng
brew cask install chromedriver
0 để gửi yêu cầu đến trình duyệt yêu cầu url
.Bạn có thể chạy mã bằng lệnh bên dưới:
Mã trên mở ra trình duyệt Chrome như trong hình dưới đây:
Tiếp theo, chúng tôi sẽ nhập từ khóa
brew cask install chromedriver
4 vào trường tìm kiếm của trang web Google. Để làm điều đó, chúng tôi sẽ phải lấy phần tử trường tìm kiếm bằng cách kiểm tra trang.Để kiểm tra trang, nhấp chuột phải vào trang web của Google và nhấp vào
brew cask install chromedriver
5.Trình duyệt sẽ mở một cửa sổ như trong hình dưới đây:
Trước khi chúng tôi tiếp tục, chúng tôi sẽ cần hiểu những người định vị trong selenium là gì.
Người định vị là những cách chúng ta có thể xác định các yếu tố web trên trang web với. Họ giúp chúng tôi tìm thấy bất kỳ yếu tố nào trên trang web. are ways we can identify web elements on the web page with. They help us find any element on the webpage.
Có nhiều loại định vị khác nhau mà chúng ta có thể sử dụng để xác định các yếu tố trên trang web. Chúng bao gồm -
brew cask install chromedriver
6, brew cask install chromedriver
7, brew cask install chromedriver
8 và brew cask install chromedriver
9.Chúng tôi sử dụng chúng như hình dưới đây:
0.from selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/']
1.from selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/']
2.from selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/']
3.from selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/']
Từ
brew cask install chromedriver
6, brew cask install chromedriver
8 và from selenium import webdriver
driver = webdriver.Chrome[]
driver.get['//www.google.com/']
6 là các thuộc tính HTML được sử dụng bên trong thẻ HTML để kiểm soát hành vi của chúng.brew cask install chromedriver
9 là viết tắt của đường dẫn ngôn ngữ đánh dấu mở rộng [đường dẫn XML] là một cú pháp để tìm các phần tử trên trang web.XML path] is a syntax for finding elements on a
webpage.Để có được phần tử, di chuột trên các thẻ
from selenium import webdriver
driver = webdriver.Chrome[]
driver.get['//www.google.com/']
8 và tiếp tục mở một thẻ làm nổi bật thanh tìm kiếm bao gồm cho đến khi bạn tìm thấy một trong đó chỉ làm nổi bật trường tìm kiếm.Sau đó, nhấp chuột phải vào thẻ, nhấp vào Sao chép
brew cask install chromedriver
9. Tiếp theo, dán brew cask install chromedriver
9 như được hiển thị:searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input']
searchField.send_keys['university']
searchField.submit[]
Từ đoạn mã trên:
- Chúng tôi đã khởi tạo biến
1 với giá trịsearchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
9 mà chúng tôi đã sao chép.brew cask install chromedriver
3 được sử dụng để chèn văn bản vào đối tượngsearchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
1.searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
5 chèn giá trịsearchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
6 vào hộp tìm kiếm.searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
7 Gửi yêu cầu tìm kiếm.searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
Lưu ý: Bạn cũng có thể tìm kiếm nút
8 nếu trang web có một phần tử như vậy và sử dụng phương thứcsearchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
9 trên đó. Nhưng, phương phápsearchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
0 làm cho nó dễ dàng hơn.from selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/'] searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
Mã hoàn chỉnh của bạn sẽ trông giống như đoạn trích bên dưới:
from selenium import webdriver
driver = webdriver.Chrome[]
driver.get['//www.google.com/']
searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input']
searchField.send_keys['university']
searchField.submit[]
Nếu bạn chạy mã của mình, nó sẽ mở trình duyệt, yêu cầu cho trang web của Google, nhập giá trị
searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input']
searchField.send_keys['university']
searchField.submit[]
6 vào hộp tìm kiếm và tự động gửi nó.Tự động đăng nhập vào một trang web
Sử dụng những gì chúng tôi đã học được từ ví dụ trước, chúng tôi hãy cố gắng đăng nhập vào trang web Quora. Để làm điều đó, chúng ta hãy tạo một tệp mới bên trong thư mục dự án của chúng tôi với tên
from selenium import webdriver
driver = webdriver.Chrome[]
driver.get['//www.google.com/']
searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input']
searchField.send_keys['university']
searchField.submit[]
2. Dán hoặc nhập mã dưới đây vào tệp.from selenium import webdriver
driver = webdriver.Chrome[]
driver.get['//www.quora.com/'] # Open Quora website
emailField = driver.find_element_by_xpath['//*[@id="email"]'] # HTML tag element for email field
emailField.send_keys['YourEmail'] # Login user name
passwordField = driver.find_element_by_xpath['//*[@id="password"]'] # HTML tag element for password field
passwordField.send_keys['YourPassword'] # Login password
button = driver.find_element_by_xpath['//*[@id="root"]/div[2]/div/div/div/div/div/div[2]/div[2]/div[4]/button/div/div/div'] # HTML tag element for button
button.click[] # onClick event handler for HTML button
Từ đoạn mã ở trên:
- Đầu tiên, chúng tôi nhập
3 từfrom selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/'] searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
4.from selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/'] searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
- Để tránh nhiều cách sử dụng
5, chúng tôi lưu trữ chúng trong một biếnfrom selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/'] searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
0.brew cask install chromedriver
7 Gửi yêu cầu đến Quora.from selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/'] searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
8 Tìm trườngfrom selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/'] searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
9 bởifrom selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/'] searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
9.brew cask install chromedriver
1 chèn địa chỉ email vào trườngfrom selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.quora.com/'] # Open Quora website emailField = driver.find_element_by_xpath['//*[@id="email"]'] # HTML tag element for email field emailField.send_keys['YourEmail'] # Login user name passwordField = driver.find_element_by_xpath['//*[@id="password"]'] # HTML tag element for password field passwordField.send_keys['YourPassword'] # Login password button = driver.find_element_by_xpath['//*[@id="root"]/div[2]/div/div/div/div/div/div[2]/div[2]/div[4]/button/div/div/div'] # HTML tag element for button button.click[] # onClick event handler for HTML button
9.from selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.google.com/'] searchField = driver.find_element_by_xpath['/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input'] searchField.send_keys['university'] searchField.submit[]
3 Tìm trường mật khẩu bởifrom selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.quora.com/'] # Open Quora website emailField = driver.find_element_by_xpath['//*[@id="email"]'] # HTML tag element for email field emailField.send_keys['YourEmail'] # Login user name passwordField = driver.find_element_by_xpath['//*[@id="password"]'] # HTML tag element for password field passwordField.send_keys['YourPassword'] # Login password button = driver.find_element_by_xpath['//*[@id="root"]/div[2]/div/div/div/div/div/div[2]/div[2]/div[4]/button/div/div/div'] # HTML tag element for button button.click[] # onClick event handler for HTML button
9.brew cask install chromedriver
5 chèn mật khẩu vào trườngfrom selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.quora.com/'] # Open Quora website emailField = driver.find_element_by_xpath['//*[@id="email"]'] # HTML tag element for email field emailField.send_keys['YourEmail'] # Login user name passwordField = driver.find_element_by_xpath['//*[@id="password"]'] # HTML tag element for password field passwordField.send_keys['YourPassword'] # Login password button = driver.find_element_by_xpath['//*[@id="root"]/div[2]/div/div/div/div/div/div[2]/div[2]/div[4]/button/div/div/div'] # HTML tag element for button button.click[] # onClick event handler for HTML button
6.from selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.quora.com/'] # Open Quora website emailField = driver.find_element_by_xpath['//*[@id="email"]'] # HTML tag element for email field emailField.send_keys['YourEmail'] # Login user name passwordField = driver.find_element_by_xpath['//*[@id="password"]'] # HTML tag element for password field passwordField.send_keys['YourPassword'] # Login password button = driver.find_element_by_xpath['//*[@id="root"]/div[2]/div/div/div/div/div/div[2]/div[2]/div[4]/button/div/div/div'] # HTML tag element for button button.click[] # onClick event handler for HTML button
7, tìm nútfrom selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.quora.com/'] # Open Quora website emailField = driver.find_element_by_xpath['//*[@id="email"]'] # HTML tag element for email field emailField.send_keys['YourEmail'] # Login user name passwordField = driver.find_element_by_xpath['//*[@id="password"]'] # HTML tag element for password field passwordField.send_keys['YourPassword'] # Login password button = driver.find_element_by_xpath['//*[@id="root"]/div[2]/div/div/div/div/div/div[2]/div[2]/div[4]/button/div/div/div'] # HTML tag element for button button.click[] # onClick event handler for HTML button
8 bằngfrom selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.quora.com/'] # Open Quora website emailField = driver.find_element_by_xpath['//*[@id="email"]'] # HTML tag element for email field emailField.send_keys['YourEmail'] # Login user name passwordField = driver.find_element_by_xpath['//*[@id="password"]'] # HTML tag element for password field passwordField.send_keys['YourPassword'] # Login password button = driver.find_element_by_xpath['//*[@id="root"]/div[2]/div/div/div/div/div/div[2]/div[2]/div[4]/button/div/div/div'] # HTML tag element for button button.click[] # onClick event handler for HTML button
9.brew cask install chromedriver
chocolatey
0 Nhấp vào nút
8.from selenium import webdriver driver = webdriver.Chrome[] driver.get['//www.quora.com/'] # Open Quora website emailField = driver.find_element_by_xpath['//*[@id="email"]'] # HTML tag element for email field emailField.send_keys['YourEmail'] # Login user name passwordField = driver.find_element_by_xpath['//*[@id="password"]'] # HTML tag element for password field passwordField.send_keys['YourPassword'] # Login password button = driver.find_element_by_xpath['//*[@id="root"]/div[2]/div/div/div/div/div/div[2]/div[2]/div[4]/button/div/div/div'] # HTML tag element for button button.click[] # onClick event handler for HTML button
Khi bạn chạy ứng dụng, trình duyệt Chrome sẽ mở, gửi yêu cầu đến trang web Quora, điền chi tiết đăng nhập và đăng nhập bạn vào tài khoản Quora của bạn.
Sự kết luận
Tóm lại, chúng tôi đã có thể viết hai tập lệnh Python thực hiện tìm kiếm và đăng nhập của Google cho Quora.
Hiểu hai ví dụ ở trên sẽ cho bạn hiểu về cách bạn có thể sử dụng selenium để:
- Trực tiếp đến bất kỳ URL.
- Tìm bất kỳ phần tử HTML.
- Điền và gửi bất kỳ biểu mẫu.
Bạn có thể kiểm tra mã đầy đủ ở đây.
đọc thêm
- Selen với Python
- Tự động hóa web hiện đại với Python
- Bắt đầu với tự động hóa selen
- Kiểm tra tự động hóa trong selen
Đóng góp đánh giá ngang hàng của: Srishilesh P S