Nhận thuộc tính Selenium Python

Trong thời gian quét web hoặc với mục đích tự động hóa, chúng tôi yêu cầu lấy văn bản từ phần tử HTML của trang. Selenium cho phép chúng ta thực hiện điều này bằng một phương pháp đặc biệt “______37_______”. Phương pháp này giúp chúng tôi hiển thị văn bản hiển thị trong nội dung HTML. Hôm nay chúng ta sẽ đi sâu tìm hiểu để hiểu rõ hơn về tính năng này

Thiết lập môi trường

Vì vậy, chúng ta hãy bắt đầu quá trình. Mô-đun

title = driver.find_element_by_class_name['title'].text
print[title]
0 cần được nhập từ Selenium và sau đó tạo một đối tượng trình điều khiển từ nó. Tiếp theo, chúng tôi cần chỉ định đường dẫn của
title = driver.find_element_by_class_name['title'].text
print[title]
1 vì chúng tôi sẽ sử dụng trình duyệt chrome để cuộn trang. Phương pháp
title = driver.find_element_by_class_name['title'].text
print[title]
2 có sẵn để có cái nhìn tốt hơn. Sau đó thử kết nối với trang web bằng phương pháp
title = driver.find_element_by_class_name['title'].text
print[title]
3. Chúng tôi sẽ sử dụng đợi ngầm định trong 10 giây

from selenium import webdriver
driver = webdriver.Chrome[executable_path = r'G:/chromedriver_win32/chromedriver.exe']
driver.maximize_window[]
driver.get['//theautomationzone.blogspot.com/2020/07/mix-of-basic-webelements.html']
driver.implicitly_wait[10]

Tìm văn bản tiêu đề từ một trang web với. chữ[]

Hôm nay chúng tôi sẽ cố gắng tìm văn bản tiêu đề từ blog “khu vực tự động hóa”. Đầu tiên, chúng ta cần tìm phần tử, sau đó chúng ta sẽ sử dụng phương thức text của Selenium Python để lấy văn bản của tiêu đề. Đưa con trỏ chuột vào bên trong trang web và Nhấp chuột phải vào con chuột. Từ menu ngữ cảnh, nhấp vào tùy chọn kiểm tra

Từ html chúng ta có thể sử dụng thuộc tính lớp để tìm phần tử và sau đó áp dụng “. text”  để lấy văn bản của tiêu đề. Bây giờ chúng ta sẽ tạo một biến “title” và lưu phần tử web đã định vị với phương thức text trong đó

title = driver.find_element_by_class_name['title'].text
print[title]

Văn bản tiêu đề “khu vực tự động hóa” sẽ được in trong bảng điều khiển

Cách lấy văn bản với get_attribute[]

Có một phương thức khác có sẵn trong Selenium gọi là phương thức

title = driver.find_element_by_class_name['title'].text
print[title]
4 cũng cho phép chúng ta lấy văn bản ra khỏi html. Phương thức
title = driver.find_element_by_class_name['title'].text
print[title]
4 có thể lấy các đối số như “
title = driver.find_element_by_class_name['title'].text
print[title]
6”, “
title = driver.find_element_by_class_name['title'].text
print[title]
7” , “
title = driver.find_element_by_class_name['title'].text
print[title]
8”. Chẳng hạn, chúng tôi muốn lấy văn bản của đoạn thứ ba. Chúng tôi có thể lấy nó bằng các mã sau

paragraph3 = driver.find_element_by_id['p3'].get_attribute["textContent"]
print[paragraph3]

Ở đây, sau khi xác định vị trí webelement, chúng tôi đã sử dụng phương pháp

title = driver.find_element_by_class_name['title'].text
print[title]
9 để lấy văn bản. Kết quả sẽ như thế này

This is           an example of paragraphs                with a span inside

Sự khác biệt. văn bản[] và get_attribute[]

Lưu ý văn bản đầu ra của đoạn 3 ở trên. Nó trông không giống như văn bản hiển thị trên trang web. Có một số khoảng trống giữa các cụm từ. Điều này là do có một thuộc tính “

paragraph3 = driver.find_element_by_id['p3'].get_attribute["textContent"]
print[paragraph3]
0” có sẵn bên trong thẻ HTML và chúng tôi đang lấy văn bản mã theo từng dòng được viết ở phía HTML. Nó sẽ không trả về khoảng trống hoặc ngắt dòng có sẵn bên trong thẻ phần tử HTML

Bây giờ nếu chúng ta cố gắng lấy cùng một văn bản của đoạn thứ ba bằng cách sử dụng phương pháp “

paragraph3 = driver.find_element_by_id['p3'].get_attribute["textContent"]
print[paragraph3]
1”

para3 = driver.find_element_by_id['p3'].text
print[para3]

đầu ra sẽ là

This is an example of paragraphs with a span inside

Như chúng ta có thể thấy văn bản đầu ra giống như văn bản được viết trên trang web. Nó bỏ qua các khoảng trắng bên trong tệp HTML

Vì vậy, sự khác biệt chính là, phương thức

title = driver.find_element_by_class_name['title'].text
print[title]
4 sẽ trả về cùng một văn bản được viết ở phía HTML trong khi phương thức “
paragraph3 = driver.find_element_by_id['p3'].get_attribute["textContent"]
print[paragraph3]
1” sẽ sao chép cùng một văn bản được viết trên trang web

Cách lấy văn bản của một URL

Phương thức

title = driver.find_element_by_class_name['title'].text
print[title]
4 không chỉ cho phép chúng ta đưa văn bản ra khỏi phần tử mà còn cho phép chúng ta lấy văn bản được viết bên trong thuộc tính của thẻ phần tử. Chẳng hạn, chúng ta cần tìm liên kết được đính kèm trong phần “đây là ví dụ về liên kết” của trang web

Bằng cách kiểm tra HTML của phần liên kết Google của trang web, chúng tôi có thể thấy URL có sẵn bên trong thuộc tính

paragraph3 = driver.find_element_by_id['p3'].get_attribute["textContent"]
print[paragraph3]
5 của thẻ
paragraph3 = driver.find_element_by_id['p3'].get_attribute["textContent"]
print[paragraph3]
6. Chúng ta có thể sử dụng phương thức
paragraph3 = driver.find_element_by_id['p3'].get_attribute["textContent"]
print[paragraph3]
7 để lấy giá trị của
paragraph3 = driver.find_element_by_id['p3'].get_attribute["textContent"]
print[paragraph3]
5

link = driver.find_element_by_id['link'].get_attribute['href']
print[link]

Sau đây, định vị phần tử theo id, chúng tôi đã sử dụng '_______11_______5' bên trong phương thức

title = driver.find_element_by_class_name['title'].text
print[title]
4 vì nó chứa URL của liên kết Google. nó trả về đầu ra dưới dạng văn bản thuần túy

//www.google.com/

Đây là một cách rất hữu ích để lấy giá trị văn bản của một thuộc tính bên trong thẻ HTML

Cách lấy văn bản từ danh sách thả xuống

Hãy thử đặt danh sách thả xuống “chọn món ăn yêu thích của bạn” thành “Dứa” và nhận văn bản “Dứa” từ đó. Nếu chúng tôi kiểm tra phần tử bằng cách nhấp chuột phải vào phần tử đó, chúng tôi sẽ thấy rằng tùy chọn “Dứa” có sẵn trong thẻ

This is           an example of paragraphs                with a span inside
1

Có một bài viết về “cách chọn menu thả xuống” trong blog Finxter. Bạn có thể sử dụng liên kết sau để biết quy trình tìm phần tử thẻ

This is           an example of paragraphs                with a span inside
1

Cách chọn giá trị menu thả xuống bằng Python Selenium

Ta cần import module

This is           an example of paragraphs                with a span inside
3 và code sẽ theo như bên dưới để có được dòng chữ “
This is           an example of paragraphs                with a span inside
4”

dropdown = driver.find_element_by_id["mySelect"]
dropdown.click[]
element = Select[dropdown]
element.select_by_index['2']
fruit = driver.find_element_by_id["mySelect"].get_attribute["value"]
print[fruit]

Ở đây, chúng tôi xác định vị trí phần tử trước và sau đó với sự trợ giúp của phương pháp “

This is           an example of paragraphs                with a span inside
5”, chúng tôi đã chọn giá trị “
This is           an example of paragraphs                with a span inside
6” từ danh sách thả xuống. Cuối cùng, chúng tôi đã sử dụng phương pháp
This is           an example of paragraphs                with a span inside
7 để đưa văn bản “quả dứa” ra khỏi đó

Đó là tất cả về cách lấy văn bản với Selenium trong Python. Tôi hy vọng, bây giờ bạn sẽ dễ dàng lấy văn bản từ trang web hơn

Để tìm hiểu thêm về Python, hãy xem các cheat sheet sau

Yassin Mahmud Abdul Quddus

Yassin Mahmud là một người đam mê blockchain và là người sáng tạo nội dung trong không gian blockchain. Được thúc đẩy bởi niềm đam mê công nghệ phân tán, anh ấy đã chuyển sang lĩnh vực chuỗi khối từ quá trình phát triển ngăn xếp MERN. Với hơn nửa thập kỷ kinh nghiệm hiện tại, anh ấy đang cố gắng đóng góp cho cộng đồng blockchain bằng bài viết của mình. Khi Yassin không viết lách, người ta có thể bắt gặp anh ta đang đi dạo dọc theo các bãi biển hoặc tham quan các địa điểm du lịch ngoạn mục

Làm cách nào để lấy một thuộc tính trong Selenium Python?

phương thức phần tử get_attribute[] – Selenium Python . Phương thức này trước tiên sẽ cố gắng trả về giá trị của thuộc tính có tên đã cho.

Làm cách nào để lấy thuộc tính trong Selenium?

Chúng ta có thể lấy giá trị thuộc tính của một phần tử trong Selenium Webdriver. Điều này đạt được với sự trợ giúp của phương thức getAttribute . Trong một tài liệu html, mỗi phần tử được xác định bằng tên thẻ của nó cùng với các thuộc tính của phần tử với các giá trị của chúng.

Làm cách nào để lấy giá trị của một phần tử trong Selenium Python?

Chúng ta có thể lấy giá trị của một hộp nhập với Selenium webdriver. Phương thức get_attribute[] có khả năng lấy giá trị mà chúng ta đã nhập vào hộp nhập liệu. Để lấy giá trị, chúng ta phải truyền giá trị dưới dạng tham số cho phương thức.

Phương thức get[] dùng để làm gì trong Selenium?

Lệnh get khởi chạy trình duyệt mới và mở URL đã cho trong Trình quản trị web của bạn . Nó chỉ lấy chuỗi làm URL được chỉ định của bạn và mở nó cho mục đích thử nghiệm. Nếu bạn đang sử dụng Selenium IDE, nó tương tự như lệnh open.

Chủ Đề