Computer >> Máy Tính >  >> Lập trình >> Javascript

Chạy javascript trong Selenium bằng Python.

Chúng ta có thể chạy Javascript trong Selenium webdriver với Python. Mô hình Đối tượng Tài liệu giao tiếp với các phần tử trên trang với sự trợ giúp của Javascript. Selenium thực thi các lệnh Javascript bằng cách sử dụng execute_script phương pháp. Các lệnh được thực thi được chuyển dưới dạng đối số cho phương thức.

Một số thao tác như cuộn xuống trong một trang không thể được thực hiện trực tiếp bằng các phương thức Selenium. Điều này đạt được với sự trợ giúp của Javascript Executor . window.scrollTo được sử dụng để thực hiện thao tác cuộn. Các pixel được cuộn theo chiều ngang dọc theo trục x và các pixel được cuộn theo chiều dọc theo trục y được chuyển dưới dạng tham số cho phương thức.

Cú pháp

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

Ví dụ

Triển khai mã để cuộn đến cuối trang

from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\\chromedriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://www.tutorialspoint.com/tutor_connect/index.php")
# to scroll till page bottom
driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")

Chúng tôi cũng có thể thực hiện các thao tác trên web như nhấp vào liên kết với Javascript Executor trong Selenium. Chúng tôi sẽ sử dụng execute_script và chuyển đối số index.click () webelement được nhấp làm đối số cho phương thức.

Cú pháp

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

Ví dụ

Triển khai mã để thực hiện các hoạt động web như nhấp chuột.

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")
# to identify element and then click
s = driver.find_element_by_xpath("//*[text()='Library']")
# perform click with execute_script method
driver.execute_script("arguments[0].click();",s)
print("Page title after click: " + driver.title)

Đầu ra

Chạy javascript trong Selenium bằng Python.