เราสามารถเรียกใช้ Javascript ใน Selenium webdriver ด้วย Python Document Object Model สื่อสารกับองค์ประกอบต่างๆ ในหน้าโดยใช้ Javascript Selenium รันคำสั่ง Javascript โดยใช้ execute_script กระบวนการ. คำสั่งที่จะดำเนินการจะถูกส่งต่อเป็นอาร์กิวเมนต์ของเมธอด
การดำเนินการบางอย่างเช่นการเลื่อนลงในหน้าไม่สามารถทำได้โดยวิธีซีลีเนียมโดยตรง สิ่งนี้ทำได้ด้วยความช่วยเหลือของ Javascript Executor . window.scrollTo วิธีที่ใช้ในการดำเนินการเลื่อน พิกเซลที่จะเลื่อนในแนวนอนตามแกน x และพิกเซลที่จะเลื่อนในแนวตั้งตามแกน y จะถูกส่งต่อเป็นพารามิเตอร์ไปยังเมธอด
ไวยากรณ์
driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")
ตัวอย่าง
การใช้รหัสเพื่อเลื่อนไปที่ด้านล่างสุดของหน้า
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);")
เรายังดำเนินการเว็บได้ เช่น การคลิกลิงก์ด้วย Javascript Executor ใน Selenium เราจะใช้ execute_script เมธอดและส่ง อาร์กิวเมนต์ index.click() และ webelement ที่จะถูกคลิกเป็นอาร์กิวเมนต์ของวิธีการ
ไวยากรณ์
s = driver.find_element_by_css_selector("#id") driver.execute_script("arguments[0].click();",s)
ตัวอย่าง
การใช้รหัสเพื่อดำเนินการเว็บเช่นการคลิก
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)
ผลลัพธ์