본문 바로가기

코틀린

코틀린 (maven) 셀레니움 selenium

728x90

pom.xml 에 입력

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>3.141.59</version>
</dependency>

소스 작성

var chromeDriver = "webdriver.chrome.driver" //크롬 드라이버 명시
var chromePath = "D:\\chromedriver.exe" //크롬 드라이버 경로
var baseUrl = "https://google.com/"
System.setProperty(chromeDriver, chromePath) // 드라이버 셋팅

//셀레니움 접근 막는것을 방지
val options = ChromeOptions()
options.setCapability("ignoreProtectedModeSettings", true)

val driver: WebDriver = ChromeDriver()
val wait = WebDriverWait(driver, 30) //Thread.sleep 대신 사용하는 것으로, 대기를 위해 사용

driver.get(baseUrl)

//지정한 경로가 포착될때까지 대기

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("경로"))

//지정한 경로 클릭

dv.findElement(By.xpath("경로")).click()

//뒤로가기

dv.navigate().back()

//사이트가 뜨기 전에 소스가 먼저 실행되는 경우가 많아 에러가 종종 뜸 그럴때 딜레이를 주면 도움이 됨

Thread.sleep(1000)

 

728x90