Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Chạy JavaScript trong Selenium với Python

Mô tả

Sử dụng execute_script() trong Selenium Python để chạy JavaScript: scroll trang, click element, v.v.

Cuộn trang (scroll)

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

Click element bằng JS

element = driver.find_element_by_css_selector("#id")
driver.execute_script("arguments[0].click();", element)

Ví dụ hoàn chỉnh

from selenium import webdriver

driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://www.tutorialspoint.com/index.htm")

# Click "Library" link bằng JS
element = driver.find_element_by_xpath("//*[text()='Library']")
driver.execute_script("arguments[0].click();", element)

print("Page title after click: " + driver.title)

Các trường hợp dùng JS Executor

  • Scroll trang (Selenium không có API scroll trực tiếp)
  • Click element bị che, ẩn, hoặc trong shadow DOM
  • Set giá trị input bypass validation
  • Trigger custom events
  • Lấy performance timing, localStorage, sessionStorage

Lưu ý

find_element_by_* đã deprecated từ Selenium 4. Nên dùng driver.find_element(By.CSS_SELECTOR, "...).