Gửi khóa trong Selenium Python là gì?

hàm send_keys() lấy các khóa khác nhau làm tham số. Do đó chúng ta cần nhập khóa trước khi sử dụng chức năng này.  

Chúng ta có thể thực hiện tất cả các thao tác trên bàn phím với sự trợ giúp của các phím trong Selenium. lớp selen. webdriver. phổ thông. phím đi kèm với các phương pháp khác nhau mà người ta có thể sử dụng cho mục đích này

Để nhấn enter, chúng ta cần chuyển Phím. ENTER làm tham số cho phương thức send_keys() như bên dưới

from selenium.webdriver.common.keys import Keys

driver.find_element_by_name("Value").send_keys(Keys.ENTER)

Gửi khóa không có phần tử

Để gửi khóa mà không chỉ định phần tử trong Python, chúng ta có thể sử dụng lớp ActionChains như sau

from selenium.webdriver.common.action_chains import ActionChains

value = “Test”

actions = ActionChains(driver) 

actions.send_keys(value)

actions.perform()

Selenium Nhấn Enter không có phần tử Python

Chúng ta cũng có thể nhấn enter mà không cần chỉ định bất kỳ phần tử cụ thể nào trong Selenium.

Ví dụ: chúng tôi muốn gửi văn bản đến trường tên người dùng trên trang đăng nhập. Trang đăng nhập đã được tải và trường tên người dùng được đặt tiêu điểm ngay khi tải trang đăng nhập.  

Tại đây, chúng ta có thể gửi trực tiếp giá trị tên người dùng vì  hộp văn bản tên người dùng được làm tiêu điểm bằng cách sử dụng phương thức send_keys, sau đó nhấn tab để điều hướng đến trường mật khẩu và nhấn enter trên nút đăng nhập

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Firefox(executable_path="C:\geckodriver.exe")

driver.get("url")

actions = ActionChains(driver) 

actions.send_keys(value=username)

actions.send_keys(keys.TAB)

actions.send_keys(value=password)

actions.send_keys(keys.ENTER)

actions.perform()

driver.quit()

Cũng đọc . Bộ chọn CSS trong Selenium. Xác định vị trí các phần tử có ví dụ

Sử dụng cái gì thay vì sendKeys trong Selenium?

Để gửi khóa  mà không sử dụng phương thức send_keys(), chúng ta có thể sử dụng phương thức của lớp Actions đã đề cập ở trên hoặc trình thực thi Javascript trong Selenium bên dưới.  

  • Trình thực thi Javascript là một cách thay thế để xác định vị trí các phần tử web và thực hiện các hành động trên chúng.  
  • Với sự trợ giúp của Javascript, DOM (mô hình đối tượng tài liệu) có quyền truy cập vào tất cả các phần tử web và do đó có thể thực hiện các hành động trên các phần tử này.  
  • Selenium có khả năng tích hợp với Javascript để định vị các phần tử web với sự trợ giúp của trình thực thi Javascript.  

Tìm hiểu thêm . Các lệnh Selenium WebElement

Trong Selenium có một phương thức gọi là exec_script() giúp thực thi các lệnh Javascript. Chúng ta cần truyền các lệnh này làm đối số cho phương thức exec_script()

Dưới đây là một ví dụ về cách gửi khóa với sự trợ giúp của trình thực thi Javascript      

from selenium import webdriver

driver = webdriver.Chrome (executable_path="C:\\chromedriver.exe")

#Navigate to the webpage

driver.get("https://app.hubspot.com/login/")

            #Locate element 

driver.find_element_by_id("username")

#create java script executor instance

JavascriptExecutor js = (JavascriptExecutor ) driver

#send keys with help of javascript executor

runJS.executeScript("arguments[0].value='[email protected]';", username);

Phần kết luận

Có nhiều cách để chúng ta có thể sử dụng phương thức send_keys() và nó giúp thực hiện các thao tác bàn phím khác nhau.  

Tuy nhiên, hãy đảm bảo chọn tham gia BrowserStack Cloud Selenium Grid trong số hơn 3000 thiết bị thực và trình duyệt dành cho máy tính để bàn. Các nhóm QA có thể kiểm tra các trang web được lưu trữ trên môi trường phát triển hoặc phía sau tường lửa mà không cần thiết lập hoặc cấu hình. Chạy thử nghiệm Selenium của bạn bằng Python trên BrowserStack rất đơn giản và hiệu quả.

Bắt đầu thử nghiệm Selenium

Kiểm tra tự động hóa Trình quản lý 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 Trình quản lý web Selenium

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

Gửi khóa trong Selenium Python là gì?

Cách đọc/ghi dữ liệu Excel bằng Apache POI Selenium

Tìm hiểu cách đọc và ghi dữ liệu Excel trong Selenium bằng cách sử dụng Apache POI với sự trợ giúp của hướng dẫn cài đặt

Tìm hiểu thêm

Gửi khóa trong Selenium Python là gì?

Cách đọc tệp cấu hình trong Python bằng Selenium

Nói đơn giản là file config chứa thông tin cấu hình theo dạng key, value. học cách

Tìm hiểu thêm

Gửi khóa trong Selenium Python là gì?

Cách tải xuống tệp bằng Selenium và Python

Hướng dẫn từng bước về cách tải xuống tệp từ trang web bằng Selenium và Python. đoạn mã

Send_keys trong Selenium là gì?

SendKeys là phương thức được sử dụng để gửi dữ liệu nhập từ bàn phím như ký tự, số và ký hiệu tới hộp văn bản bên trong ứng dụng . Khi bạn đang thử nghiệm một ứng dụng, tất cả các hành động được xử lý bởi phần tử WebDriver, mà sendKeys là một phần của.

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

Phương thức Sendkeys() của Selenium giúp tự động hoàn thành trường theo hai bước đơn giản. .
Xác định các trường đầu vào bằng cách sử dụng bộ định vị cụ thể. Ví dụ: địa chỉ email, trường mật khẩu
Nhập các giá trị vào các hộp đầu vào một cách rõ ràng bằng phương thức sendkeys()

Làm cách nào để gửi Phím bàn phím trong Selenium?

Hành động mới (trình điều khiển). keyDown(Phím. SỰ THAY ĐỔI). sendKeys("a"). .
ActionChains(trình điều khiển)\. key_down(Phím. SỰ THAY ĐỔI)\. send_keys("a")\. .
Hành động mới (trình điều khiển). KeyDown(Phím. Sự thay đổi). SendKeys("a"). .
tài xế. hoạt động. key_down(. sự thay đổi). .
đợi tài xế. hành động(). keyDown(Khóa. .
Hành động (trình điều khiển). keyDown(Phím. SỰ THAY ĐỔI)

SendKeys hoạt động như thế nào?

Sử dụng Phương thức SendKeys . Đối số Khóa là bắt buộc và là khóa hoặc nhiều khóa mà bạn muốn gửi tới ứng dụng, dưới dạng văn bản. Tùy chọn Chờ là tùy chọn. to simulate keystrokes that you would manually input in the active window. The Keys argument is required, and is the key or keys that you want to send to the application, as text. The Wait option is optional.