Cuộn div selen python cụ thể

Tôi vẫn đang tìm hiểu và để trả lời một trong những câu hỏi của mình, nơi tôi được cho biết rằng có thể là do yếu tố được đề cập không có trong chế độ xem

Tôi đã xem qua tài liệu và SO, đây là câu trả lời phù hợp nhất. của cô

Bạn có thể sử dụng "tổ chức. openqa. selen. tương tác. Actions" để di chuyển đến một phần tử

Phần tử WebElement = trình điều khiển. findElement[By. id["my-id"]];

Hành động hành động = hành động mới [trình điều khiển];

hành động. moveToElement[phần tử];

## hành động. nhấp chuột[];

hành động. trình diễn[];

Khi tôi cố gắng sử dụng phần trên để cuộn đến phần tử. Nó nói WebElement không được xác định

Tôi nghĩ điều này là do tôi chưa nhập mô-đun có liên quan. Ai đó có thể chỉ ra những gì tôi phải nhập?

Nhưng trong khi chờ đợi ngay sau khi cố gắng tìm ra nó một thời gian. Tôi đã tìm ra phương thức nhập cho WebElement

Bạn có thể làm điều đó bằng mã, mẹo là chèn mã Javascript để trở thành trang web. Sau khi bạn tải một trang web, hãy cuộn xuống trang bằng cách chèn javascript. Bạn có thể cuộn xuống một số lượng cụ thể hoặc kéo xuống dưới cùng

khóa học liên quan

  • Khóa học & ví dụ về tự động hóa web Selenium

Cuộn xuống trang web

Ví dụ

Trước khi bạn bắt đầu, hãy đảm bảo rằng Trình điều khiển Web Selenium đã được cài đặt và bạn đã cài đặt mô-đun Selenium. Trình điều khiển web phải là trình điều khiển web phù hợp với trình duyệt [cùng phiên bản]. Đối với Firefox đó là geckoDriver, đối với Chrome đó là ChromeDriver. Phiên bản trình điều khiển phải dành cho phiên bản trình duyệt, phiên bản lỗi thời rất có thể sẽ không hoạt động

Mã cuộn xuống selen được hiển thị bên dưới. Nó gọi phương thức

#_*_coding: utf-8_*_
from selenium import webdriver
import time

browser=webdriver.Firefox[]
browser.get["//en.wikipedia.org"]
browser.execute_script["window.scrollTo[0,document.body.scrollHeight]"]
time.sleep[3]
browser.close[]

0 với javascript để cuộn đến cuối trang web

1
2
3
4
5
6
7
8
9
10
#_*_coding: utf-8_*_
from selenium import webdriver
import time

browser=webdriver.Firefox[]
browser.get["//en.wikipedia.org"]
browser.execute_script["window.scrollTo[0,document.body.scrollHeight]"]
time.sleep[3]
browser.close[]

Đầu tiên các mô-đun cần thiết được tải. Bạn sẽ cần mô-đun selen và mô-đun thời gian

1
2
3
#_*_coding: utf-8_*_
from selenium import webdriver
import time

Sau đó khởi tạo trình duyệt web. Đây có thể là Firefox hoặc một trình duyệt được hỗ trợ khác [Chrome, Edge, Safari]

Nếu chúng tôi muốn chuyển xuống một trang hoặc muốn tìm kiếm thứ gì đó trên một trang không được xem, chúng tôi sử dụng thao tác cuộn để đến đó. Có thể tự động cuộn trang bằng Selenium không? . Nhưng chúng ta có thể đạt được điều đó với một số tính năng javascript bổ sung được bật trong Python bằng cách sử dụng đối tượng trình điều khiển. Trong selen, có thể cuộn xuống trang theo ba cách khác nhau. Hôm nay chúng ta sẽ cố gắng tìm hiểu về cả ba tùy chọn có thể

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

Vì tôi có niềm đam mê du lịch, tôi thích đọc blog du lịch. Hôm nay chúng ta sẽ thử cuộn trang web có tên “50 điểm du lịch được ghé thăm nhiều nhất trên thế giới”

Vì vậy, chúng ta hãy bắt đầu quá trình. Đầu tiên, chúng ta cần nhập

#_*_coding: utf-8_*_
from selenium import webdriver
import time

browser=webdriver.Firefox[]
browser.get["//en.wikipedia.org"]
browser.execute_script["window.scrollTo[0,document.body.scrollHeight]"]
time.sleep[3]
browser.close[]

5 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
#_*_coding: utf-8_*_
from selenium import webdriver
import time

browser=webdriver.Firefox[]
browser.get["//en.wikipedia.org"]
browser.execute_script["window.scrollTo[0,document.body.scrollHeight]"]
time.sleep[3]
browser.close[]

6 vì chúng tôi sẽ sử dụng trình duyệt chrome để cuộn trang. Phương pháp
#_*_coding: utf-8_*_
from selenium import webdriver
import time

browser=webdriver.Firefox[]
browser.get["//en.wikipedia.org"]
browser.execute_script["window.scrollTo[0,document.body.scrollHeight]"]
time.sleep[3]
browser.close[]

7 có sẵn để có cái nhìn tốt hơn. Sau đó, chúng tôi sẽ cố gắng kết nối với trang web bằng phương thức
#_*_coding: utf-8_*_
from selenium import webdriver
import time

browser=webdriver.Firefox[]
browser.get["//en.wikipedia.org"]
browser.execute_script["window.scrollTo[0,document.body.scrollHeight]"]
time.sleep[3]
browser.close[]

8. Chúng tôi sẽ sử dụng đợi ngầm định trong 10 giây. Chính sách cookie sẽ xuất hiện ở cuối trang khi chúng tôi kết nối. Chúng ta cần tìm WebElement của nút “OK, got it” để chấp nhận và sau đó nhấp vào nút đó

from selenium import webdriver
driver = webdriver.Chrome[executable_path = r'G:/chromedriver_win32/chromedriver.exe']
driver.maximize_window[]
driver.get['//www.lovehomeswap.com/blog/latest-news/the-50-most-visited-tourist-attractions-in-the-world']
driver.implicitly_wait[10]
cookie = driver.find_element_by_link_text['OK, got it']
cookie.click[]

Cuộn xuống trang theo pixel

Có thể cuộn một trang với số pixel. Có một phương thức tên là

driver.execute_script["window.scrollBy[0,500]",""]
0 cho phép chúng ta cuộn một trang. Lệnh đi như thế này

driver.execute_script["window.scrollBy[0,500]",""]

Ở đây chúng ta cần nhập hai tham số trong phương thức

driver.execute_script["window.scrollBy[0,500]",""]
1. 0 là vị trí pixel bắt đầu hoặc pixel mặc định và 500 là vị trí pixel chúng tôi muốn cuộn đến. Bằng cách thay đổi các giá trị này, có thể cuộn xuống từ nơi này sang nơi khác. Tham số thứ hai của phương thức
driver.execute_script["window.scrollBy[0,500]",""]
0 sẽ vẫn trống. Hãy thử làm điều đó trên trang web

1
2
3
4
5
6
7
8
9
10
0

Vì chúng tôi đã đặt tham số thứ 2 của phương pháp

driver.execute_script["window.scrollBy[0,500]",""]
1 từ 500 thành 3000, chúng tôi có thể thấy thanh cuộn ở phía bên tay phải không ở vị trí mặc định của nó. Nó đã cuộn xuống một chút ở vị trí 3000 pixel. Bằng cách thay đổi tham số thứ hai, chúng tôi có thể truy cập các địa điểm nhất định trên một trang với sự trợ giúp của phương pháp này

Cuộn xuống trang cho đến khi phần tử được tìm thấy

Bây giờ chúng tôi muốn tìm kiếm một phần tử cụ thể trong trang web nhưng chúng tôi không biết vị trí pixel chính xác cho điểm đó. Làm cách nào chúng ta có thể cuộn xuống phần tử cụ thể đó?

1
2
3
4
5
6
7
8
9
10
2

Để làm việc với lệnh này, đầu tiên chúng ta cần xác định phần tử muốn xem, sau đó chúng ta sẽ lưu nó vào một biến. Một lần nữa, chúng tôi sẽ sử dụng phương thức

driver.execute_script["window.scrollBy[0,500]",""]
0 và nó cũng sẽ nhận hai tham số. Chúng tôi sẽ nhập “
driver.execute_script["window.scrollBy[0,500]",""]
5” làm tham số đầu tiên và biến chứa phần tử được xác định làm tham số thứ hai. Hy vọng rằng thanh cuộn sẽ tự động di chuyển đến nơi đặt phần tử

Hãy thử tìm phần tử

driver.execute_script["window.scrollBy[0,500]",""]
6 từ trang web. Chúng tôi muốn đặt cuộn của bạn để tự động xem phần tử này. Mã sau sẽ đủ tốt

1
2
3
4
5
6
7
8
9
10
6

Ở đây, chúng tôi đã cố gắng tìm phần tử bằng văn bản liên kết và tạo một biến

driver.execute_script["window.scrollBy[0,500]",""]
7 với vị trí
driver.execute_script["window.scrollBy[0,500]",""]
8. Trong dòng tiếp theo, chúng tôi đã thực hiện lệnh với phương thức
driver.execute_script["window.scrollBy[0,500]",""]
9

Thác Niagara xuất hiện ở đầu trang. đôi khi nó có thể không hiển thị do thanh “Đăng nhập”. Sau đó, bạn cần cuộn lên một chút để xem

Cuộn xuống cho đến cuối trang

Cũng có thể sử dụng phương pháp

1
2
3
4
5
6
7
8
9
10
00 để cuộn xuống cuối bất kỳ trang nào. lệnh sẽ trông như thế này

#_*_coding: utf-8_*_
from selenium import webdriver
import time

browser=webdriver.Firefox[]
browser.get["//en.wikipedia.org"]
browser.execute_script["window.scrollTo[0,document.body.scrollHeight]"]
time.sleep[3]
browser.close[]

1

Ở đây một lần nữa, chúng ta sẽ sử dụng câu lệnh javascript bên trong phương thức

driver.execute_script["window.scrollBy[0,500]",""]
0. Phương thức
driver.execute_script["window.scrollBy[0,500]",""]
1 sẽ nhận hai tham số. Cái đầu tiên là 0 làm điểm bắt đầu ban đầu và cái thứ hai phải được javascript định nghĩa là “
1
2
3
4
5
6
7
8
9
10
03” vì nó giúp người cuộn đến điểm kết thúc của trang. Nếu chúng tôi chạy mã, chúng tôi sẽ thấy trang như thế này

Chúng ta có thể thấy từ phía bên tay phải rằng thanh cuộn đã đi đến điểm kết thúc của trang

Vì vậy, đó là tất cả về các phương pháp chúng ta sử dụng ngày nay trong Selenium python để tự động cuộn xuống trình duyệt. Tôi hy vọng bạn sẽ thấy hữu ích khi tìm hiểu thêm về Selenium

Làm cách nào để cuộn một div cụ thể trong Selenium?

Cách cuộn đến phần tử trong Selenium .
Bước 1. Chuẩn bị trang web để kiểm tra. Không phải tất cả các trang đều có thể cuộn được. .
Bước 2. Tải trang bằng WebDriver. Bây giờ chúng ta có một trang để kiểm tra việc cuộn, hãy tải trang bằng Selenium WebDriver. .
Bước 3. Xác định vị trí phần tử mục tiêu. .
Bước 4. Di chuyển đến phần tử mục tiêu. .
Bước 5. Chạy thử nghiệm

Làm cách nào để cuộn đến phần tử cụ thể trong Selenium Python?

1 câu trả lời .
từ selen. webdriver. phổ thông. action_chains nhập ActionChains
phần tử = trình điều khiển. find_element_by_id["my-id"]
hành động = ActionChains[trình điều khiển]
hành động. move_to_element[phần tử]. trình diễn[]
Hoặc, bạn cũng có thể "cuộn vào chế độ xem" qua scrollIntoView[]
người lái xe. exec_script["đối số[0]. scrollIntoView[];", phần tử]

Làm cách nào để cuộn xuống cuối trang trong Selenium Python?

Để cuộn xuống cuối trang, chúng ta phải chuyển qua cửa sổ lệnh. scrollTo làm tham số cho phương thức exec_script . Ngoài ra, các giá trị 0 và tài liệu. thân thể.

Làm cách nào để xử lý cuộn xuống trong Selenium?

Selenium chạy các lệnh trong Javascript bằng phương thức exec_script[]. Để cuộn xuống cuối trang, chúng ta phải vượt qua [0, tài liệu. cơ thể. scrollHeight] làm tham số cho phương thức scrollBy[] .

Chủ Đề