Selenium webdriver를 사용하여 Javascript 코드의 반환 값을 얻을 수 있습니다. Selenium은 executeScript의 도움으로 자바스크립트 명령을 실행할 수 있습니다. 방법. 실행할 Javascript 명령은 메서드에 인수로 전달됩니다.
return 키워드를 사용하여 Javascript 코드에서 값을 반환합니다. 또한 import org.openqa.selenium.JavascriptExecutor 문을 추가해야 합니다. 자바스크립트와 함께 작동합니다.
구문
JavascriptExecutor j = (JavascriptExecutor) driver; j.executeScript("return document.getElementsByName('txtSearchText')[0].value")
에디트 박스에 입력한 값을 구해보자. 출력은 셀레늄이어야 합니다. .
예시
코드 구현
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; import org.openqa.selenium.JavascriptExecutor; public class JavascriptValue{ public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); String url = "https://www.tutorialspoint.com/tutor_connect/index.php"; driver.get(url); driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS); // identify element and enter text WebElement t=driver.findElement(By.id("txtSearchText")); t.sendKeys("Selenium"); // Javascript executor to return value JavascriptExecutor j = (JavascriptExecutor) driver; String s = (String) j.executeScript("return document.getElementsByName('txtSearchText')[0].value"); System.out.print("Value is: " +s); driver.quit(); } }
출력