Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

Python을 사용하여 Selenium에서 자바스크립트를 실행합니다.

<시간/>

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)

출력

Python을 사용하여 Selenium에서 자바스크립트를 실행합니다.