Các phần tử trang web có thể được tìm thấy theo id của chúng. Đó là một trong những cách để chọn một phần tử trên trang web bằng Selenium
Bạn phải có id phần tử mà bạn có thể nhận được bằng các công cụ dành cho nhà phát triển. Bạn cũng có thể sử dụng id hoặc css để chọn thành phần trang web
khóa học liên quan
- Khóa học & ví dụ về tự động hóa web Selenium
tìm phần tử
selen tìm phần tử theo id
Mã selen sử dụng tìm phần tử theo id để chọn hộp tìm kiếm. Sau đó, nó gõ một tin nhắn trong hộp tìm kiếm
Selenium Tìm phần tử theo văn bản được sử dụng để xác định vị trí phần tử web bằng cách sử dụng giá trị văn bản của nó. Giá trị văn bản thường được sử dụng khi các thuộc tính nhận dạng phần tử cơ bản như ID hoặc lớp không thành công
Đôi khi, các nhà phát triển có xu hướng nhóm các thành phần web tương tự có cùng ID hoặc cùng lớp lại với nhau. Trong trường hợp như vậy, tìm phần tử web bằng cách sử dụng văn bản để giải cứu thử nghiệm tự động hóa
Giá trị văn bản có thể được khớp hoàn toàn hoặc khớp một phần để xác định vị trí phần tử. Đến cuối hướng dẫn này, bạn sẽ có được kiến thức rõ ràng về phần tử tìm Selenium
Chúng ta có thể tìm thấy một phần tử chứa văn bản cụ thể với Selenium webdriver trong Python bằng cách sử dụng xpath. Bộ định vị này có các chức năng giúp xác minh một văn bản cụ thể có trong một phần tử
Hàm text[] trong xpath được sử dụng để định vị phần tử web tùy thuộc vào văn bản hiển thị trên trang. Một chức năng khác có chứa [] trong xpath được sử dụng để định vị một phần tử web với văn bản con của văn bản thực tế hiển thị trên trang
Hãy để chúng tôi cố gắng xác định phần tử có văn bản cụ thể - Chính sách bảo mật
cú pháp
l = driver.find_element_by_xpath["//a[text[]='Privacy Policy']"] m = driver.find_element_by_xpath["//a[contains[text[], 'Privacy']]"]
Thí dụ
from selenium import webdriver #set chromodriver.exe path driver = webdriver.Chrome[executable_path="C:\chromedriver.exe"] driver.implicitly_wait[0.5] #launch URL driver.get["//www.tutorialspoint.com/about/about_careers.htm"] #identify element with text[] xpath l = driver.find_element_by_xpath["//a[text[]='Privacy Policy']"] #identify element with contains xpath m = driver.find_element_by_xpath["//a[contains[text[], 'Privacy']]"] #get element text print['Text obtained with text[]: ' + l.text] print['Text obtained with contains[]: ' + m.text] #close browser driver.quit[]
đầu ra
Xác định vị trí các phần tử là bước cơ bản nhất trong tự động kiểm tra web. Có nhiều cách để QA có thể xác định vị trí các phần tử. Đặc biệt, người dùng Selenium cần phải thành thạo trong việc sử dụng các chiến lược định vị khác nhau để xác định các phần tử web. Đây là bước đầu tiên để chạy bất kỳ thử nghiệm tự động nào vì các tập lệnh thử nghiệm phải xác định phần tử mà nó phải tương tác
Tham khảo hướng dẫn chi tiết này về Bộ định vị trong Selenium để tìm hiểu thêm về các chiến lược định vị khác nhau trong Selenium
Trong một số trường hợp, các nhà phát triển web có xu hướng phân loại các thành phần web bằng tên lớp hoặc ID giống hệt nhau. Điều này có thể dẫn đến kiểm tra không thành công nếu WebDriver không thể định vị một phần tử web nhất định
Trong những trường hợp như vậy, các kỹ sư QA có thể xác định vị trí phần tử bằng cách sử dụng văn bản hiển thị trên màn hình tương ứng với phần tử web cụ thể đó. Điều này có thể thực hiện được bằng cách sử dụng phương pháp Tìm phần tử theo văn bản bằng bộ định vị Xpath
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
Chạy thử nghiệm Selenium miễn phí trên đám mây thiết bị thực
Hãy xem xét một ví dụ mô tả cách tìm một phần tử bằng văn bản trong Selenium
text[] và chứa các phương thức
Trước ví dụ, chúng ta hãy thu thập hiểu biết cơ bản về hai phương pháp sau
- văn bản[]. Một phương thức tích hợp trong Selenium WebDriver được sử dụng với bộ định vị XPath để định vị một phần tử dựa trên giá trị văn bản chính xác của nó.
Ví dụ. //*[ text[] = ‘Bắt đầu miễn phí’ ] - chứa[]. Tương tự như phương thức text[], contains[] là một phương thức tích hợp khác được sử dụng để xác định vị trí một phần tử dựa trên khớp văn bản một phần.
Ví dụ: nếu chúng tôi cần định vị một nút có dòng chữ “Bắt đầu miễn phí”, thì có thể định vị nút đó bằng cách sử dụng dòng mã sau với Xpath.
Ví dụ. //*[ chứa [text[], ‘Bắt đầu’ ] ]
Phương pháp cần thiết để xác định vị trí một phần tử dựa trên khớp văn bản một phần là gì?
chứa đựng[]
chữ[]
Bạn có biết không. Sự khác biệt giữa findElement và findElements?
Thí dụ
Hãy xem xét một kịch bản đơn giản
- Khởi chạy trình duyệt Chrome
- Điều hướng đến trang web của BrowserStack
- Định vị CTA có giá trị văn bản 'Bắt đầu miễn phí' bằng phương thức XPath text[]
Mã để định vị CTA bằng phương thức text[] như sau
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class Match{ public static void main[String[] args] { System.setProperty[""]; WebDriver driver = new ChromeDriver[]; String url = "/browserstack.com”; driver.get[url]; driver.manage[].timeouts[].implicitlyWait[10, TimeUnit.SECONDS]; // Locating element with text[] WebElement e = driver.findElement[By.xpath["//*[text[]='Get started free']"]]; System.out.println["Element with text[]: " + e.getText[] ]; driver.quit[]; } }
Tương tự, các QA có thể định vị cùng một nút CTA bằng cách khớp một phần văn bản bằng phương thức chứa []. Đoạn mã trên vẫn giữ nguyên ngoại trừ phương thức xác định vị trí phần tử
Chạy thử nghiệm Selenium miễn phí trên đám mây thiết bị thực
Thay thế phương thức text[] bằng đoạn mã sau
// located element with contains[] WebElement m = driver.findElement [By.xpath ["//*[contains[text[],'Get started ']]"]];
Phương pháp trên sẽ định vị CTA “Bắt đầu miễn phí” dựa trên đối sánh một phần văn bản được thực hiện với chuỗi 'Bắt đầu'
Mọi người cũng đọc. Core Selenium WebElement Các lệnh mà mọi nhà phát triển nên biết
Như đã đề cập trước đó, để tự động hóa thử nghiệm thành công, việc thử nghiệm các yếu tố web mục tiêu là vô cùng quan trọng. Để làm như vậy, các kỹ sư QA phải có khả năng sử dụng các chiến lược định vị khác nhau. Selenium find element by text method có thể hữu ích cho các QA đang tìm cách thực hiện lại các kiểm thử thất bại bằng cách định vị chính xác các phần tử dựa trên văn bản của nó
Hãy nhớ rằng các bài kiểm tra Selenium phải được chạy trên đám mây thiết bị thực để có kết quả hoàn toàn chính xác. Lưới Selenium trên đám mây của BrowserStack gồm hơn 2000 trình duyệt và thiết bị thực cho phép người kiểm tra tự động kiểm tra giao diện người dùng trực quan trong điều kiện người dùng thực. Chỉ cần đăng ký miễn phí, chọn kết hợp thiết bị-trình duyệt-HĐH và bắt đầu chạy thử nghiệm
Tìm hiểu thêm. Bộ chọn CSS để xác định vị trí các phần tử web
Tìm hiểu thêm. Bộ chọn CSS để xác định vị trí các phần tử web
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 SeleniumNhững bài viết liên quan
findElement so với findElements trong Selenium
Tìm hiểu cách các phương pháp như findElement vs findElements trong Selenium được sử dụng để định vị Web Eleme cụ thể
Tìm hiểu thêm
Bộ chọn CSS trong Selenium. Xác định vị trí các yếu tố với các ví dụ
Tìm hiểu cách sử dụng CSS Selector trong tập lệnh Selenium cho các thử nghiệm tự động của bạn với năm loại CSS Select
Tìm hiểu thêm
Cách lấy dữ liệu của các thuộc tính trong JavaScript bằng Selenium
Bạn đang tìm cách lấy dữ liệu của các thuộc tính trong JavaScript với Selenium? . Thứ tự