Hướng dẫn can we do web automation using python? - chúng ta có thể tự động hóa web bằng python không?

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à:

Hướng dẫn can we do web automation using python? - chúng ta có thể tự động hóa web bằng python không?

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('https://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:

  • from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://www.google.com/')
    
    0.
  • from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://www.google.com/')
    
    1.
  • from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://www.google.com/')
    
    2.
  • from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://www.google.com/')
    
    3.

Từ

brew cask install chromedriver
6,
brew cask install chromedriver
8 và
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://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('https://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
    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()
    
    1 với giá trị
    brew cask install chromedriver
    
    9 mà chúng tôi đã sao chép.
  • 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 được sử dụng để chèn văn bản vào đối tượng
    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()
    
    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.

Lưu ý: Bạn cũng có thể tìm kiếm nút

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 nếu trang web có một phần tử như vậy và sử dụng phương thức
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 trên đó. Nhưng, phương pháp
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://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 làm cho nó dễ dàng hơn.

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('https://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('https://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('https://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
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://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ừ
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://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.
  • Để tránh nhiều cách sử dụng
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://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()
    
    5, chúng tôi lưu trữ chúng trong một biến
    brew cask install chromedriver
    
    0.
  • from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://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()
    
    7 Gửi yêu cầu đến Quora.
  • from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://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ường
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://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ởi
    brew cask install chromedriver
    
    9.
  • from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    driver.get('https://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
    
    1 chèn địa chỉ email vào trường
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://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.
  • from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    driver.get('https://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
    
    3 Tìm trường mật khẩu bởi
    brew cask install chromedriver
    
    9.
  • from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    driver.get('https://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
    
    5 chèn mật khẩu vào trường
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    driver.get('https://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('https://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út
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    driver.get('https://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ằng
    brew cask install chromedriver
    
    9.
  • chocolatey0 Nhấp vào nút
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    
    driver.get('https://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.

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

Chúng ta có thể làm selen với python không?

Selenium là một công cụ kiểm tra tự động hóa nguồn mở hỗ trợ một số ngôn ngữ kịch bản như Python, C#, Java, Perl, Ruby, JavaScript, v.v. Tùy thuộc vào ứng dụng được kiểm tra, người ta có thể chọn tập lệnh phù hợp.supports a number of scripting languages like Python, C#, Java, Perl, Ruby, JavaScript, etc. depending on the application to be tested, one can choose the script accordingly.

Chúng ta có thể thực hiện thử nghiệm tự động hóa bằng cách sử dụng Python không?

Python là một trong những ngôn ngữ lập trình yêu thích của các nhóm thử nghiệm.Nó có nhiều tính năng làm cho nó phù hợp để thử nghiệm tự động.Ví dụ: bạn có thể hưởng lợi từ việc gõ động của Python nhưng cũng sử dụng các trình kiểm tra như Pyre để gõ tĩnh.Python rất dễ học và cũng có thể được sử dụng cho các vấn đề phức tạp.It has multiple features that make it suitable for automated testing. For example, you can benefit from Python's dynamic typing but also make use of checkers like Pyre for static typing. Python is easy to learn and can also be used for complex problems.

Làm thế nào để bạn sử dụng Python để kiểm soát một trang web?

Trước tiên, chúng tôi cần bắt đầu trình điều khiển web bằng Selenium và gửi yêu cầu nhận đến URL và xác định tài liệu HTML và tìm thẻ đầu vào và thẻ nút chấp nhận tên người dùng/email, mật khẩu và nút đăng nhập.