Làm cách nào để cuộn vào chế độ xem trong Python Selenium?

Chúng tôi có thể cần thực hiện hành động trên một phần tử không có trong khu vực có thể xem được của trang. Chúng ta cần cuộn xuống trang để đến phần tử đó

Selenium không thể thực hiện hành động cuộn trực tiếp. Điều này có thể đạt được với sự trợ giúp của lớp Javascript Executor và Actions trong Selenium. DOM có thể hoạt động trên tất cả các phần tử trên trang web với sự trợ giúp của Javascript

Selenium có thể thực thi các lệnh trong Javascript với sự trợ giúp của phương thức exec_script(). Đối với giải pháp Javascript, chúng tôi phải chuyển giá trị thực cho phương thức scrollIntoView() để xác định đối tượng bên dưới vị trí hiện tại của chúng tôi trên trang. Chúng ta có thể thực hiện chuyển động của chuột với sự trợ giúp của lớp Actions trong Selenium

Thí dụ

Triển khai mã với Javascript Executor

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;
import org.openqa.selenium.JavascriptExecutor;
public class ScrollToViewJs{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
      "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "https://www.tutorialspoint.com/index.htm";
      driver.get(url);
      driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);
      // identify element
      WebElement l=driver.findElement(By.xpath("//*[text()='ABOUT US']"));
      // Javascript executor
      ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);", l);
      Thread.sleep(800);
      driver.quit();
   }
}

Trong khi làm việc với lớp Actions để scroll xem ta phải sử dụng phương thức moveToElement(). Phương pháp này sẽ thực hiện di chuyển chuột cho đến giữa phần tử

Đôi khi chúng ta cần thực hiện hành động trên một phần tử không có trong khu vực có thể xem được của trang. Chúng ta cần cuộn xuống trang để đến phần tử đó

Selenium không thể thực hiện hành động cuộn trực tiếp. Điều này có thể đạt được với sự trợ giúp của lớp Javascript Executor và Actions trong Selenium. DOM có thể hoạt động trên tất cả các phần tử trên trang web với sự trợ giúp của Javascript

Selenium có thể thực thi các lệnh trong Javascript với sự trợ giúp của phương thức exec_script(). Đối với giải pháp Javascript, chúng tôi phải chuyển giá trị thực cho phương thức scrollIntoView() để xác định đối tượng bên dưới vị trí hiện tại của chúng tôi trên trang. Chúng ta có thể thực hiện chuyển động của chuột với sự trợ giúp của lớp Actions trong Selenium

Thí dụ

Triển khai mã với Javascript Executor

import time
from selenium import webdriver
driver = webdriver.Chrome (executable_path="C:\chromedriver.exe")
driver.get("https://www.tutorialspoint.com/index.htm")
# identify element
l= driver.find_element_by_xpath("//*[text()='About Us']")
# Javascript Executor
driver.execute_script("arguments[0].scrollIntoView(true);", l)
time.sleep(0.4)
driver.close

Trong khi làm việc với lớp Actions để scroll xem ta phải sử dụng phương thức moveToElement(). Phương pháp này sẽ thực hiện di chuyển chuột cho đến giữa phần tử

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

Thí 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("https://en.wikipedia.org")
browser.execute_script("window.scrollTo(0,document.body.scrollHeight)")
time.sleep(3)
browser.close()

0 bằng 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("https://en.wikipedia.org")
browser.execute_script("window.scrollTo(0,document.body.scrollHeight)")
time.sleep(3)
browser.close()

Làm cách nào để cuộn vào chế độ xem trong Python Selenium?

Đầ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)

Làm cách nào để sử dụng cuộn vào chế độ xem 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()
tài xế. exec_script("đối số[0]. scrollIntoView();", phần tử)

Làm cách nào để cuộn một phần tử vào chế độ xem 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