Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การรันจาวาสคริปต์ในซีลีเนียมโดยใช้ Python


เราสามารถเรียกใช้ 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)

ผลลัพธ์

การรันจาวาสคริปต์ในซีลีเนียมโดยใช้ Python