Làm cách nào để tìm một phần tử chứa văn bản cụ thể trong trình quản lý web Selenium python )?

Tôi muốn chọn tên liên hệ từ mã này, mặc dù đôi khi khi tên trống, tôi nhận được phần tử [li] sau đây là văn bản địa chỉ email, nó sẽ để trống khi không tìm thấy tên. đang sử dụng mã này

name = driver.switchTo[].window[child_window].findElement[By.cssSelector["aside.reply-flap.js-captcha ul  > li:nth-child[1] p"]].getText[];

tôi biết rằng nếu tôi đang sử dụng jsoup thì tôi có thể sử dụng có chứa [tên liên hệ. ] làm cách nào để sử dụng có chứa trong selen?

Tôi đã thử một cái gì đó như

h1[contains[text[]='contact name:']]

và nó không hoạt động chút nào

điểm. 0

câu trả lời được chấp nhận

Để lấy văn bản từ

thẻ ngay bên dưới

thẻ có văn bản làm tên liên hệ bằng cách sử dụng chứa bạn có thể sử dụng xpath sau.
name = driver.switchTo[].window[child_window].findElement[By.xpath["//aside[@class='reply-flap js-captcha']/ul/li/h1[contains[text[],'contact name:']]//following::p[1]"]].getText[];

Ghi chú. Các. chứa lớp giả không hoạt động như một CSS theo Thông số kỹ thuật. Ở đây bạn có thể tìm thấy một cuộc thảo luận chi tiết

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

  1. chữ[]. 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ó
    Thí dụ. //*[ text[] = ‘Bắt đầu miễn phí’ ]
  2. 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 ta cần định vị một nút có nội dung “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
    Thí dụ. //*[ chứa [văn bản[], ‘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[]

chữ[]

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

Ví dụ

Hãy xem xét một kịch bản đơn giản

  1. Khởi chạy trình duyệt Chrome
  2. Điều hướng đến trang web của BrowserStack
  3. Đị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. Phần tử tìm Selenium theo phương thức văn bản có thể hữu ích cho các QA đang tìm cách thực hiện lại các kiểm tra không thành công bằng cách định vị các phần tử chính xác 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 Selenium

Nhữ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

Kiểm tra trình duyệt chéo bằng Playwright. hướng dẫn

Trong hướng dẫn này để kiểm tra trình duyệt chéo bằng Playwright, chúng ta sẽ thực hiện từng bước để thiết lập Playwri

Làm cách nào để kiểm tra xem phần tử có chứa văn bản trong Selenium không?

Chúng tôi có thể kiểm tra xem một số văn bản có tồn tại hay không trong một trang với Selenium. Có nhiều hơn một cách để tìm thấy nó. Chúng ta có thể sử dụng phương thức getPageSource[] để tìm nạp nguồn trang đầy đủ rồi xác minh xem văn bản có tồn tại ở đó hay không . Phương thức này trả về nội dung ở dạng chuỗi.

Làm cách nào để lấy văn bản cụ thể từ chuỗi trong Selenium?

Phương thức getText[] trong Selenium . Phương thức getText[] trả về chuỗi kết quả. Nó loại bỏ các khoảng trắng nếu có ở phía trước và phía sau của chuỗi.

Làm cách nào để tìm phần tử theo giá trị trong Selenium Python?

Python – phương thức find_element[] trong Selenium . Id về cơ bản là thuộc tính duy nhất được gán cho các thành phần của trang web như nút, hình ảnh, tiêu đề, v.v. Ghi chú. Phần tử đầu tiên có giá trị thuộc tính “id” khớp với vị trí sẽ được trả về.

Làm cách nào để tìm XPath chứa văn bản?

Cú pháp định vị các phần tử thông qua XPath- Sử dụng phương thức contains[] có thể được viết là. //

Chủ Đề