Send_keys selen python xóa

Chỉ có 2 hành động có thể được thực hiện bằng bàn phím. nhấn xuống một phím và nhả một phím đã nhấn. Ngoài việc hỗ trợ các ký tự ASCII, mỗi phím trên bàn phím đều có một biểu tượng có thể được nhấn hoặc nhả theo trình tự được chỉ định

Ngoài các phím được biểu thị bằng unicode thông thường, các giá trị unicode đã được gán cho các phím bàn phím khác để sử dụng với Selenium. Mỗi ngôn ngữ có cách riêng để tham chiếu các khóa này;

Sử dụng [Phím Java enum][https. //github. com/SeleniumHQ/selenium/blob/selenium-4. 2. 0/java/src/org/openqa/selenium/Keys. java#L28]

Sử dụng [Lớp Python Keys][https. //github. com/SeleniumHQ/selenium/blob/selenium-4. 2. 0/py/selenium/webdriver/common/keys. py#L23]

Sử dụng [. NET tĩnh][https. //github. com/SeleniumHQ/selenium/blob/selenium-4. 2. 0/dotnet/src/webdriver/Keys. cs#L28]

Sử dụng [Hằng số Ruby KEYS][https. //github. com/SeleniumHQ/selenium/blob/selenium-4. 2. 0/rb/lib/selenium/webdriver/common/keys. rb#L28]

Sử dụng [hằng số KHÓA JavaScript][https. //github. com/SeleniumHQ/selenium/blob/selenium-4. 2. 0/javascript/nút/selenium-webdo/lib/đầu vào. js#L44]

Sử dụng [Phím Java enum][https. //github. com/SeleniumHQ/selenium/blob/selenium-4. 2. 0/java/src/org/openqa/selenium/Keys. java#L28]

Đây là một phương pháp tiện lợi trong API hành động kết hợp các lệnh keyDown và keyUp trong một hành động. Việc thực thi lệnh này hơi khác so với việc sử dụng phương thức phần tử, nhưng về cơ bản, lệnh này được sử dụng khi cần nhập nhiều ký tự ở giữa các hành động khác

Đây là một ví dụ về việc sử dụng tất cả các phương pháp trên để thực hiện hành động sao chép/dán. Lưu ý rằng khóa được sử dụng cho thao tác này sẽ khác nhau tùy thuộc vào việc đó có phải là Mac OS hay không. Mã này sẽ kết thúc bằng văn bản. SeleniumSelenium!

Chúng ta sẽ xem cách truy cập các thành phần biểu mẫu khác nhau này bằng Selenium Web Driver với Java. Selenium đóng gói mọi phần tử biểu mẫu dưới dạng đối tượng của WebElement. Nó cung cấp API để tìm các phần tử và thực hiện hành động đối với chúng như nhập văn bản vào hộp văn bản, nhấp vào nút, v.v. Chúng ta sẽ thấy các phương thức có sẵn để truy cập từng phần tử biểu mẫu

Trong hướng dẫn này, chúng ta sẽ xem cách xác định các phần tử biểu mẫu sau

  • Giới thiệu về WebElement, findElement[], findElements[]
  • Hộp nhập liệu
  • Nhập giá trị vào ô nhập liệu
  • Xóa giá trị trong hộp đầu vào
  • nút
  • gửi các nút
  • Hoàn thành mã
  • Xử lý sự cố

Giới thiệu về WebElement, findElement[], findElements[]

Selenium Web Driver đóng gói một thành phần biểu mẫu đơn giản như một đối tượng của WebElement

Có nhiều kỹ thuật khác nhau mà WebDriver xác định các phần tử biểu mẫu dựa trên các thuộc tính khác nhau của các phần tử Web như ID, Tên, Lớp, XPath, Tên thẻ, Bộ chọn CSS, Văn bản liên kết, v.v.


Web Driver cung cấp hai phương thức WebElement sau để tìm các phần tử
  • findElement[] – tìm một phần tử web duy nhất và trả về dưới dạng một đối tượng WebElement Selenium
  • findElements[] – trả về danh sách các đối tượng WebElement phù hợp với tiêu chí của bộ định vị

Hãy xem các đoạn mã để lấy một phần tử duy nhất – Trường văn bản trong trang web dưới dạng đối tượng của WebElement bằng phương thức findElement[]. Chúng ta sẽ đề cập đến phương pháp findElements[] để tìm nhiều phần tử trong các hướng dẫn tiếp theo

Bước 1.
Chúng ta cần nhập gói này để tạo các đối tượng của Phần tử web

Bước 2.
Chúng ta cần gọi phương thức findElement[] có sẵn trên lớp WebDriver và lấy một đối tượng của WebElement.

Tham khảo bên dưới để xem nó được thực hiện như thế nào

Hộp nhập liệu

Hộp đầu vào đề cập đến một trong hai loại này

  1. Trường văn bản– Các hộp văn bản đầu vào Selenium chấp nhận các giá trị đã nhập và hiển thị chúng như hiện tại
  2. Trường mật khẩu– hộp văn bản chấp nhận các giá trị đã nhập nhưng ẩn chúng dưới dạng một chuỗi ký tự đặc biệt [thường là dấu chấm và dấu hoa thị] để tránh hiển thị các giá trị nhạy cảm

Bộ định vị

Phương thức findElement[] nhận một tham số là bộ định vị cho phần tử. Các công cụ định vị khác nhau như By. id[], Bởi. tên [], Bởi. xpath[], Bởi. CSSSelector[], v.v. xác định vị trí các phần tử trong trang bằng cách sử dụng các thuộc tính của chúng như “““ id, tên hoặc đường dẫn, v.v.

Bạn có thể sử dụng các plugin như Fire path để được trợ giúp lấy id, xpath, v.v. của các yếu tố

Sử dụng trang web ví dụ //demo.guru99.com/test/login.html được cung cấp bên dưới là mã để định vị trường văn bản “Địa chỉ email” bằng cách sử dụng bộ định vị id và trường “Mật khẩu” bằng cách sử dụng bộ định vị tên

  1. Trường văn bản email được đặt theo Id
  2. Trường mật khẩu được đặt theo tên

khóa gửi trong Selenium

sendkeys[] trong Selenium là phương pháp được sử dụng để nhập nội dung có thể chỉnh sửa vào trường văn bản và mật khẩu trong khi thực hiện kiểm tra. Các trường này được xác định bằng cách sử dụng bộ định vị như tên, lớp, id, v.v. Nó là một phương thức có sẵn trên phần tử web. Không giống như phương thức loại, phương thức sendkeys[] không thay thế văn bản hiện có trong bất kỳ hộp văn bản nào

Nhập giá trị vào ô nhập liệu

Để nhập văn bản vào Trường văn bản và Trường mật khẩu, sendKeys[] là phương thức có sẵn trên WebElement trong Selenium

Sử dụng cùng một ví dụ về trang web //demo.guru99.com/test/login.html, đây là cách chúng tôi tìm trường Văn bản và trường Mật khẩu và nhập văn bản vào Selenium

  1. Tìm trường Văn bản “Địa chỉ Email” bằng công cụ định vị id
  2. Tìm trường "Mật khẩu" bằng công cụ định vị tên
  3. Nhập văn bản vào “Địa chỉ email” bằng phương pháp gửi khóa Selenium
  4. Nhập mật khẩu vào trường “Mật khẩu” bằng phương thức sendKeys[]

Xóa giá trị trong hộp đầu vào

Phương thức clear[] được sử dụng để xóa văn bản trong hộp nhập liệu. Phương thức này không cần tham số. Đoạn mã dưới đây sẽ xóa văn bản khỏi các trường Email hoặc Mật khẩu

nút

Nút bấm Selenium có thể được truy cập bằng phương thức click[]

Trong ví dụ trên

  1. Tìm nút để Đăng nhập
  2. Nhấp vào nút “Đăng nhập” trong trang đăng nhập của trang web để đăng nhập vào trang web

gửi các nút

Các nút gửi được sử dụng để gửi toàn bộ biểu mẫu đến máy chủ. Chúng ta có thể sử dụng phương thức click[] trên phần tử web giống như một nút bình thường như chúng ta đã làm ở trên hoặc sử dụng phương thức submit[] trên bất kỳ phần tử web nào trong biểu mẫu hoặc trên chính nút gửi

Khi submit[] được sử dụng, WebDriver sẽ tra cứu DOM để biết phần tử đó thuộc dạng nào và sau đó kích hoạt chức năng gửi của nó

Hoàn thành mã

Đây là mã làm việc hoàn chỉnh

import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.chrome.ChromeDriver;		
import org.openqa.selenium.*;		

public class Form {				
    public static void main[String[] args] {									
    		
    	// declaration and instantiation of objects/variables		
        System.setProperty["webdriver.chrome.driver","G:\\chromedriver.exe"];					
        WebDriver driver = new ChromeDriver[];					
        		
        String baseUrl = "//demo.guru99.com/test/login.html";					
        driver.get[baseUrl];					

        // Get the WebElement corresponding to the Email Address[TextField]		
        WebElement email = driver.findElement[By.id["email"]];							

        // Get the WebElement corresponding to the Password Field		
        WebElement password = driver.findElement[By.name["passwd"]];							

        email.sendKeys["abcd@gmail.com"];					
        password.sendKeys["abcdefghlkjl"];					
        System.out.println["Text Field Set"];					
         
        // Deleting values in the text box		
        email.clear[];			
        password.clear[];			
        System.out.println["Text Field Cleared"];					

        // Find the submit button		
        WebElement login = driver.findElement[By.id["SubmitLogin"]];							
                    		
        // Using click method to submit form		
        email.sendKeys["abcd@gmail.com"];					
        password.sendKeys["abcdefghlkjl"];					
        login.click[];			
        System.out.println["Login Done with Click"];					
        		
        //using submit method to submit the form. Submit used on password field		
        driver.get[baseUrl];					
        driver.findElement[By.id["email"]].sendKeys["abcd@gmail.com"];							
        driver.findElement[By.name["passwd"]].sendKeys["abcdefghlkjl"];							
        driver.findElement[By.id["SubmitLogin"]].submit[];					
        System.out.println["Login Done with Submit"];					
         
		//driver.close[];		
        		
    }		
}

Xử lý sự cố

Nếu bạn gặp NoSuchElementException[] trong khi tìm phần tử, điều đó có nghĩa là phần tử không được tìm thấy trong trang tại thời điểm trình điều khiển Web truy cập trang

Làm cách nào để nhấn phím xóa trong Selenium Python?

IDE Selenium mới . Để xóa khóa, chúng ta có thể chuyển Khóa. BACKSPACE làm tham số cho phương thức send_keys.

Làm cách nào để xóa văn bản trong Selenium Python?

Như được trình bày rõ ràng trong tập lệnh của ví dụ này, để xóa nội dung được viết trong vùng văn bản bằng Selenium WebDriver, bạn cần sử dụng phần tử. xóa[] trong đó phần tử là nội dung nhập văn bản .

Send_keys Selenium Python là gì?

Chúng tôi có thể gửi dữ liệu nhập từ bàn phím tới hộp văn bản trên trang web trong trình quản trị web Selenium trong Python bằng phương thức send_keys. Văn bản được nhập được truyền dưới dạng tham số cho phương thức đó. Để thực hiện các thao tác trên bàn phím, chúng ta cũng có thể sử dụng phương thức send_keys rồi truyền vào lớp Keys.

Làm cách nào để xóa văn bản bằng các phím trong Selenium?

Chúng ta có thể sử dụng phương thức clear[] để đặt lại giá trị đã có trong hộp chỉnh sửa hoặc trường vùng văn bản. Chúng tôi có thể sử dụng Khóa. phương thức chord[] cùng với sendKeys[] .

Chủ Đề