Python을 사용하여 Selenium 웹 드라이버에서 Javascript를 실행할 수 있습니다. 문서 개체 모델은 Javascript의 도움으로 페이지의 요소와 통신합니다. Selenium은 execute_script의 도움을 받아 자바스크립트 명령을 실행합니다. 방법. 실행할 명령은 메서드에 인수로 전달됩니다.
페이지에서 아래로 스크롤하는 것과 같은 일부 작업은 Selenium 메서드에서 직접 수행할 수 없습니다. 이것은 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);")
또한 Selenium에서 Javascript Executor가 있는 링크를 클릭하는 것과 같은 웹 작업을 수행할 수도 있습니다. execute_script를 사용합니다. 메소드 및 전달 인수 index.click() 및 웹 요소 메소드에 대한 인수로 클릭됩니다.
구문
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)
출력