เราสามารถเรียกใช้ 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) ผลลัพธ์
