Làm cách nào để tự động hóa tìm kiếm Google bằng Selenium Python?

Trong một môi trường nhanh nhẹn, các nhà phát triển nhấn mạnh việc thúc đẩy các thay đổi một cách nhanh chóng. Với mọi thay đổi yêu cầu sửa đổi giao diện người dùng, họ cần chạy thử nghiệm trình duyệt chéo phù hợp. Mặc dù một dự án nhỏ có thể chọn thử nghiệm thủ công, nhưng ngày càng có nhiều trình duyệt tạo ra trường hợp thử nghiệm tự động hóa

Với phạm vi ngày càng mở rộng của các ứng dụng web, cả về công nghệ và chức năng, kỳ vọng của người dùng đã tăng lên nhiều lần. Cứ sau vài tuần, các tính năng mới được thêm vào ứng dụng web để thu hút người dùng cao hơn. Để kiểm tra các tính năng này và đảm bảo rằng giao diện người dùng đang hoạt động tốt, cần phải kiểm tra tự động. Đối với những người thử nghiệm trên toàn thế giới, Selenium là lựa chọn đầu tiên để thực hiện các thử nghiệm tự động

Selenium là một công cụ kiểm tra tự động mã nguồn mở hỗ trợ một số ngôn ngữ script 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 cho phù hợp

Python là một trong những ngôn ngữ kịch bản phổ biến nhất, theo gợi ý của , trong thống kê bên dưới

Bài đăng hướng dẫn này cung cấp hướng dẫn Selenium Python từng bước để thực hiện kiểm tra tự động hóa web

Selenium cho phép bạn xác định các bài kiểm tra và tự động phát hiện kết quả của các bài kiểm tra này trên một trình duyệt được quyết định trước. Một bộ chức năng Selenium cho phép bạn tạo các tương tác từng bước với trang web và đánh giá phản ứng của trình duyệt đối với các thay đổi khác nhau. Sau đó, bạn có thể quyết định xem phản hồi của trình duyệt có phù hợp với những gì bạn mong đợi hay không

Bài đăng này giả định rằng bạn chưa có kiến ​​thức trước về Selenium. Tuy nhiên, cần có kiến ​​thức cơ bản về các khái niệm front-end như DOM và quen thuộc với Python

Điều kiện tiên quyết để chạy thử nghiệm Selenium với Python

Cách dễ nhất để cài đặt Selenium trên môi trường Python là thông qua trình cài đặt pip

pip install selenium

Trong khi cài đặt Selenium làm cho chức năng có sẵn cho bạn, bạn cần trình điều khiển bổ sung để nó có thể giao tiếp với trình duyệt web đã chọn. Các liên kết tải xuống cho các trình điều khiển có sẵn ở đây. Chrome, Edge, Firefox và Safari. Trong phần còn lại của hướng dẫn này, chúng ta sẽ sử dụng Chromedriver. Theo liên kết cho trình duyệt bạn chọn và tải xuống trình điều khiển cho phiên bản tương thích

Mọi người cũng đọc. Cách chạy thử nghiệm Selenium trên Chrome bằng ChromeDriver

Nếu bạn chỉ định kiểm tra Selenium cục bộ, tải xuống gói và trình điều khiển là đủ. Tuy nhiên, nếu bạn muốn thiết lập Selenium trên một máy chủ từ xa, bạn cần phải cài đặt thêm Máy chủ Selenium. Selenium Server được viết bằng Java, và bạn cần có JRE 1. 6 trở lên để cài đặt nó trên máy chủ của bạn. Nó có sẵn trên trang tải xuống của Selenium

Cách chạy thử nghiệm Selenium đầu tiên của bạn với Python. Thí dụ

Khi bạn đã hoàn thành phần điều kiện tiên quyết, bạn đã sẵn sàng bắt đầu bài kiểm tra đầu tiên của mình trong Selenium với ngôn ngữ lập trình Python

1. Đầu tiên nhập các lớp WebDriver và Keys từ Selenium

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

Lớp WebDriver sẽ kết nối bạn với một phiên bản của trình duyệt mà chúng tôi sẽ đề cập ngay sau đây. Lớp Phím cho phép bạn mô phỏng hành trình của các phím trên bàn phím, bao gồm các phím đặc biệt như “Shift” và “Return”

2. Tiếp theo, tạo một phiên bản Chrome với đường dẫn của trình điều khiển mà bạn đã tải xuống thông qua các trang web của trình duyệt tương ứng. Trong ví dụ này, chúng tôi giả định rằng trình điều khiển nằm trong cùng thư mục với tập lệnh Python mà bạn sẽ thực thi

driver = webdriver.Chrome['./chromedriver']

Nếu bạn đang thử nghiệm trên máy cục bộ của mình, thao tác này sẽ mở một phiên bản Chrome cục bộ. Lệnh này cho phép bạn thực hiện các kiểm tra trên nó cho đến khi bạn sử dụng. close[] để kết thúc kết nối với trình duyệt

Trong trường hợp, bạn muốn thử Kiểm tra cục bộ bằng cách sử dụng BrowserStack Automate của chúng tôi, hãy xem tài liệu này

3. Tiếp theo, sử dụng. phương thức get[] của trình điều khiển để tải một trang web. Bạn cũng có thể tải một trang web phát triển cục bộ vì quá trình này tương đương với việc mở một cửa sổ Chrome trên máy cục bộ của bạn, nhập URL và nhấn Enter. Các. get[] không chỉ bắt đầu tải một trang web mà còn đợi nó hiển thị hoàn toàn trước khi chuyển sang bước tiếp theo

driver.get["//www.python.org"]

4. Khi trang tải thành công, bạn có thể sử dụng. thuộc tính tiêu đề để truy cập tiêu đề văn bản của trang web. Nếu bạn muốn kiểm tra xem tiêu đề có chứa một chuỗi con cụ thể hay không, bạn có thể sử dụng câu lệnh khẳng định hoặc câu lệnh if. Để đơn giản, chúng ta hãy in tiêu đề của trang

print[driver.title]

Đầu ra là văn bản sau

Welcome to Python.org

Nếu đang chạy thử nghiệm trên trình thông dịch Python, bạn nhận thấy rằng cửa sổ trình duyệt Chrome vẫn đang hoạt động. Ngoài ra, một thông báo trên Chrome cho biết hiện tại phần mềm tự động đang kiểm soát nó

5. Tiếp theo, hãy để chúng tôi gửi một truy vấn trong thanh tìm kiếm. Đầu tiên, chọn phần tử từ HTML DOM và nhập giá trị vào đó và gửi biểu mẫu bằng cách mô phỏng nhấn phím Return. Bạn có thể chọn phần tử bằng cách sử dụng lớp CSS, ID, thuộc tính tên của phần tử hoặc thậm chí là tên thẻ. Nếu bạn kiểm tra nguồn của thanh tìm kiếm truy vấn, bạn sẽ nhận thấy rằng thuộc tính tên của phần tử DOM này là “q”. Vì vậy, bạn có thể sử dụng các. phương thức find_element_by_name[] như sau để chọn phần tử

search_bar = driver.find_element_by_name["q"]

6. Khi phần tử DOM được chọn, trước tiên bạn cần xóa nội dung của nó bằng cách sử dụng. clear[], hãy nhập một chuỗi làm giá trị của nó bằng cách sử dụng. send_keys[] và cuối cùng, mô phỏng thao tác nhấn phím Return bằng Keys. TRỞ LẠI

search_bar.clear[]
search_bar.send_keys["getting started with python"]
search_bar.send_keys[Keys.RETURN]

Cũng đọc. Bạn muốn hiểu các trường hợp sử dụng khác của SendKeys trong Selenium?

Bạn nhận thấy trong cửa sổ rằng những hành động này kích hoạt thay đổi trong URL với kết quả tìm kiếm trong cửa sổ. Để xác nhận URL hiện tại của cửa sổ, bạn có thể sử dụng lệnh sau

________số 8_______

Chuỗi sau được hiển thị

'//www.python.org/search/?q=getting+started+with+python&submit='

Để đóng phiên hiện tại, hãy sử dụng. phương thức đóng []. Nó cũng ngắt kết nối với trình duyệt

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
0

Trong ví dụ này, chúng ta đã xem xét các bước liên quan đến việc chạy thử nghiệm đầu tiên bằng Selenium và Python. Xin lưu ý rằng chúng tôi đã để cửa sổ mở trong tất cả các giai đoạn của quá trình kiểm tra, để đảm bảo bạn biết điều gì đang diễn ra trong nền khi bạn chạy từng lệnh

Trong quy trình hoàn toàn tự động, bạn sẽ chạy nhiều thử nghiệm một cách tuần tự và do đó, có thể không xem được từng bước khi chúng diễn ra

Chạy thử nghiệm Selenium Python miễn phí

Để tóm tắt cuộc thảo luận, đây là thử nghiệm Selenium đầu tiên của bạn trên Python. Bạn có thể lưu nó trong tệp selenium_test. py và chạy python Selenium_test. py để chạy thử nghiệm

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
1

Điều hướng qua các phần tử HTML DOM

Bây giờ bạn đã chạy thành công thử nghiệm đầu tiên của mình trong Selenium với Python, chúng ta hãy xem xét các tùy chọn khác nhau để chọn các thành phần DOM và tương tác với chúng. Trong ví dụ này, chúng tôi đã chọn thanh tìm kiếm và truy vấn một chuỗi. Hãy để chúng tôi khám phá lựa chọn hơn nữa. Đây là HTML của thanh tìm kiếm

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
2

Trong ví dụ, chúng tôi đã sử dụng. phương thức find_element_by_name[], tìm kiếm tên thuộc tính trong thẻ HTML đầu vào. Chúng tôi cũng có thể tìm kiếm thuật ngữ này bằng các phương pháp khác

  • mã CSS. . find_element_by_id[“id-trường tìm kiếm”]
  • Đường dẫn DOM. . find_element_by_xpath[“//input[@id=’id-search-field’]”]
  • lớp CSS. . find_element_by_class_name[“trường tìm kiếm”]

Mặc dù ID CSS là duy nhất cho mọi phần tử theo thiết kế, nhưng bạn có thể tìm thấy nhiều kết quả khi tìm kiếm qua tên lớp. Hơn nữa, khi bạn tìm kiếm qua đường dẫn DOM của phần tử, bạn có thể chắc chắn về những gì bạn đang tìm kiếm

Bạn có biết không. Sự khác biệt giữa findElement và findElements?

Điều hướng qua Windows và Frames

Ứng dụng web của bạn có thể yêu cầu bạn làm việc với nhiều cửa sổ và khung. Các trường hợp sử dụng phổ biến khi làm việc trên cửa sổ mới là đăng nhập mạng xã hội và tải tệp lên. Các. Phương thức switch_to_window[] của trình điều khiển sẽ giúp bạn thay đổi cửa sổ đang hoạt động và thực hiện các hành động khác nhau trong cửa sổ mới. Mã chuyển tiêu điểm sang một cửa sổ mới là

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
3

Nếu giá trị không được lưu trữ trong thuộc tính đích, bạn có thể sử dụng tay cầm cửa sổ, xác định duy nhất tất cả các cửa sổ đang mở trong trình điều khiển của bạn. Để xem danh sách tất cả các tay cầm cửa sổ, hãy chạy như sau

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
4

Tương tự, bạn có thể chuyển tiêu điểm sang một khung trong cửa sổ thông qua. phương thức switch_to_frame[]. Để quay lại cửa sổ chính sau khi hoàn thành các hành động có liên quan, hãy chạy lệnh sau

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
5

Lưu ý rằng tất cả các hành động trong phần này sẽ thay đổi trạng thái của trình điều khiển và không trả lại bất kỳ thứ gì. Do đó, chúng tôi không lưu trữ các giá trị trong một biến và thay vào đó gọi các phương thức

Làm việc với thời gian nhàn rỗi trong khi kiểm tra

Mặc dù chúng tôi đã xem xét các thử nghiệm khác nhau trong các ứng dụng web tĩnh, một ứng dụng một trang có thể yêu cầu bạn đợi một khoảng thời gian cụ thể cho đến khi bạn thực hiện một hành động

Có hai loại chờ đợi trong Selenium. chờ đợi ngầm định và rõ ràng. Chờ rõ ràng khiến trình điều khiển của bạn đợi hoàn thành một hành động cụ thể [như tải nội dung bằng AJAX]. Chờ đợi ngầm khiến trình điều khiển đợi trong một thời gian cụ thể

Đối với thời gian chờ rõ ràng, bạn cần sử dụng khối lần thử cuối cùng vì nó có khả năng khiến bài kiểm tra của bạn bị kẹt trong trường hợp xấu nhất. Về cơ bản, bạn hướng dẫn người lái xe đợi một yếu tố nhất định trong một thời gian nhất định trước khi buông tay

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
6

Trước tiên, hãy sử dụng chức năng WebDriverWait[] để yêu cầu trình điều khiển đợi trong khoảng thời gian năm giây. Sau đó, bạn kiểm tra phần tử mới được tải bằng cách sử dụng. phương thức hiện diện_of_element_location[] của lớpexpected_conditions mà bạn có thể truy vấn thông qua By. TÔI. Bạn muốn hiểu thêm vềexpectedConditions trong Selenium?

Trong một sự chờ đợi ngầm định, bạn cần sử dụng. implicitly_wait[] của trình điều khiển và cung cấp số giây để trình điều khiển chờ

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
7

Cách tích hợp Selenium với Bài kiểm tra đơn vị Python

Chúng ta hãy cố gắng hiểu cách tích hợp các bài kiểm tra Selenium vào các bài kiểm tra đơn vị Python. Với mục đích này, chúng tôi sẽ sử dụng mô-đun kiểm tra đơn vị trong Python

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
8

Trong ví dụ này, bạn cần thiết lập đối tượng trình điều khiển khi khởi tạo lớp kiểm tra đơn vị thông qua. Phương thức Chrome[]. Trong thử nghiệm duy nhất mà chúng tôi chứng minh, cùng một văn bản được đặt trên thanh tìm kiếm và thay đổi kết quả trong URL được so sánh với URL đã thấy trước đó. Ngoài ra, bạn có thể viết một bài kiểm tra khác cho một trình duyệt khác và sử dụng lại chức năng tương tự

Đọc thêm. Bắt đầu kiểm tra Selenium với Python. Tự động kiểm tra biểu mẫu đăng ký người dùng

Cách chạy thử nghiệm Selenium bằng Python trên BrowserStack

Để chạy Selenium trên các thiết bị thực thông qua BrowserStack, trước tiên bạn cần đăng ký trên BrowserStack

Mẹo chuyên nghiệp. Bạn muốn tìm hiểu sâu hơn về triển khai Selenium trên BrowserStack với các khóa học tương tác và bài tập trong phòng thí nghiệm miễn phí?Visit Test University

Khi đăng nhập, hãy chọn “BrowserStack Automate” và đặt kết hợp trình duyệt-thiết bị mà bạn muốn chạy thử nghiệm. Sau đó, bạn được hiển thị mã mẫu để sao chép và chạy từ thiết bị đầu cuối của mình để chạy thử nghiệm

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
9

Thử kiểm tra Selenium từ xa với Python

Chúng ta hãy dành một chút thời gian để xem sự khác biệt so với những gì chúng ta đã thảo luận cho đến nay trong bài viết này

  • Trước tiên, bạn sẽ nhận thấy rằng quá trình kiểm tra được tiến hành trên một máy chủ từ xa chứ không phải trên máy cục bộ của bạn. Do đó, bạn đang sử dụng. Remote[] để gọi một URL cụ thể với các cài đặt mà bạn cần. Máy chủ Selenium được cài đặt trên đám mây BrowserStack, đảm nhiệm việc khởi tạo trình duyệt và thiết bị có liên quan để bạn thử nghiệm trên đó. Khi trình điều khiển được bắt đầu, bạn sẽ quen với phần còn lại của các lệnh

Bạn có biết không. Sự khác biệt giữa Máy chủ độc lập Selenium và Máy chủ Selenium?

Sau đây là đầu ra của mã, như mong đợi. BrowserStack cũng cho phép bạn xem video về quá trình kiểm tra đang được thực hiện trên thiết bị trong thời gian thực từ bảng điều khiển của bạn

driver = webdriver.Chrome['./chromedriver']
0

Hạn chế với các bài kiểm tra Selenium Python

Mặc dù Selenium giúp bạn tự động hóa các bài kiểm tra của mình và tiết kiệm thời gian quý báu, nhưng nó vẫn có những hạn chế. Ngay cả với một bộ thử nghiệm mạnh mẽ như vậy, bạn sẽ thường thấy mình ở một vị trí khó xử do tính chất luôn thay đổi của công nghệ giao diện người dùng

Dưới đây là năm thách thức hàng đầu mà một người phải đối mặt khi tự động hóa quy trình thử nghiệm với Selenium

Suy nghĩ cuối cùng

Bài viết này đề cập đến các kỹ thuật khác nhau để tự động hóa quy trình thử nghiệm trên nhiều trình duyệt của bạn thông qua Selenium bằng Python. Nó đã thảo luận về các khía cạnh khác nhau của SeleniumWebdriver Python Testing như hỗ trợ trình duyệt, điều hướng DOM, chờ đợi và kiểm tra đơn vị

Ngay cả khi có tất cả kiến ​​thức về cách thức hoạt động của khung Selenium, khung thử nghiệm của bạn chỉ mạnh mẽ như các thử nghiệm mà bạn thiết kế. Tự động hóa quy trình kiểm thử giúp tiết kiệm rất nhiều thời gian trong quá trình kiểm thử, vì vậy bạn nên đảm bảo rằng bạn dành thời gian đáng kể cho việc thiết kế kiểm thử để nắm bắt tất cả các tình huống có thể xảy ra. Bắt lỗi trong giai đoạn thử nghiệm luôn tốt hơn là dẫn đến khiếu nại của khách hàng

Selenium WebDriver giúp việc kiểm thử tự động trở nên dễ dàng và hiệu quả hơn bao giờ hết. Bằng cách sử dụng Python để tạo các tập lệnh kiểm tra, thật dễ dàng để thực hiện Kiểm tra giao diện người dùng tự động cho các ứng dụng. Điều này đặc biệt hữu ích khi chu kỳ phát triển ngắn và các tính năng phải được thêm vài tuần một lần để theo kịp nhu cầu của người dùng

Selenium được khuyên dùng rộng rãi do tính linh hoạt mà nó mang lại. Nó hỗ trợ các nền tảng chính như Windows, Linux, v.v. và các trình duyệt như Chrome, IE, Edge, Firefox và Safari cũng như nhiều tập lệnh như Ruby, Perl, C#, Python, Java và JavaScript

Để cung cấp ứng dụng có trải nghiệm người dùng tối ưu, hãy sử dụng các công cụ dựa trên đám mây như BrowserStack Automate cung cấp quyền truy cập vào hơn 3000 trình duyệt và thiết bị thực để thử nghiệm trên đó. Thử nghiệm trên đám mây thiết bị thực để cung cấp trải nghiệm đa nền tảng liền mạch thông qua thử nghiệm chính xác. Vì thử nghiệm trên Cloud Selenium Grid có tính đến các điều kiện thực của người dùng, nên nó giúp xác định các điểm nghẽn và mang lại trải nghiệm người dùng liền mạch và nhất quán trên các trình duyệt và thiết bị khác nhau

Chạy thử nghiệm Selenium Python trên thiết bị thực

Kiểm tra tự động hóa Selenium Trình quản trị trang web Selenium

Bài đăng này có hữu ích không?

Vâng, cảm ơn Không thực sự

Chúng tôi rất tiếc khi biết điều đó. Hãy chia sẻ phản hồi của bạn để chúng tôi có thể làm tốt hơn

Cảm ơn rất nhiều phản hồi của bạn

thẻ

Kiểm tra tự động hóa Selenium Trình quản trị trang web Selenium

Những bài viết liên quan

Cách chuyển tab trong Selenium cho Python

Hướng dẫn này trình bày cách chuyển đổi giữa nhiều tab trong Selenium bằng Python

Tìm hiểu thêm

Nhận URL hiện tại trong Selenium bằng Python. hướng dẫn

Hướng dẫn chi tiết cách sử dụng Get Current URL bằng Selenium trong Python để xác thực URL của một websit

Tìm hiểu thêm

Cách chụp ảnh màn hình bằng Python và Selenium

Làm cách nào để bạn tự động chụp ảnh màn hình trang web bằng Selenium và Python?

Làm cách nào để tự động hóa tìm kiếm Google trong Selenium?

Giải thích mã. .
Đặt đường dẫn thực thi ChromeDriver
Khởi tạo phiên bản trình duyệt chrome WebDriver
Nhận URL
Đặt Thời gian chờ ngầm định là 30 giây, điều đó có nghĩa là selen sẽ đưa ra ngoại lệ và trường hợp thử nghiệm sẽ thất bại nếu bất kỳ phần tử nào không hiển thị với selen trong vòng 30 giây
WebDriverWait là Chờ rõ ràng trong Selenium

Chúng tôi có thể tự động hóa Google bằng Selenium không?

Selenium có thể được sử dụng để tự động hóa trình duyệt web . Trong bài viết này, chúng ta sẽ tìm hiểu cách đăng nhập tài khoản Google và tham gia cuộc họp thông qua Google Meet khi tắt camera và micrô bằng Selenium.

Làm cách nào để mở Google bằng Selenium Python?

Cách chạy thử nghiệm Selenium đầu tiên của bạn với Python. Ví dụ .
Đầu tiên nhập các lớp WebDriver và Keys từ Selenium. .
Tiếp theo, tạo một phiên bản Chrome với đường dẫn của trình điều khiển mà bạn đã tải xuống thông qua các trang web của trình duyệt tương ứng. .
Tiếp theo, sử dụng. .
Khi trang tải thành công, bạn có thể sử dụng

Làm cách nào để sử dụng API tìm kiếm của Google trong Python?

Trình giả dạng Contenus .
Thực hiện cuộc gọi API Google Search Console đầu tiên của bạn với Python
Bước 1. Nhận khóa API Google Search Console của bạn
Bước 2. Nhập thư viện
Bước 3. Xác thực với API. .
Bước 4. Thực hiện cuộc gọi API của bạn
Mã đầy đủ. 6. 1 Kết nối OAuth2 thay thế. Client_Id và Client_Secret
Phần kết luận

Chủ Đề