-
브라우저 자동화(by 셀레니움) 5 - 호출 코드c# Winform 개발/웹 자동화 2022. 9. 30. 14:10
메인로드 할때 - 크롬드라이버 업데이트, 크롬드라이버 잔여 프로세스 제거
private void MainFrm_Load(object sender, EventArgs e) { try { // 프로세스 종료 foreach (Process process in Process.GetProcesses()) { if (process.ProcessName.StartsWith("chromedriver")) { process.Kill(); } } // 크롬드라이버 업데이트 new ChromeDriverUpdater.ChromeDriverUpdater().Update(Application.StartupPath + "\\chromedriver.exe"); } catch (Exception ex) { MessageBox.Show("구동 실패 : " + ex.Message); } }
셀레니움 호출부 (앞부분만)
ChromeOptions options = new ChromeOptions(); ChromeDriverService driverService = ChromeDriverService.CreateDefaultService(); ChromeDriver driver = new ChromeDriver(driverService, options); driver.Url = "http://www.iros.go.kr/"; driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5); WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); // 대기시간 10초 string mainWindow = ""; try { // 메인 핸들 저장 mainWindow = SeleniumWrapper.GetMainHandleByTitle(driver, "인터넷등기소"); if (mainWindow.Length <= 0) { throw new Exception("메인 핸들 못찾음"); } // 팝업창 닫기 SeleniumWrapper.OtherCloseByTitle(driver, "인터넷등기소"); SeleniumWrapper.SwitchWindow(driver, mainWindow); // 로그인 정보 입력 SeleniumWrapper.ClearAndInputText(wait, "//*[@id='id_user_id']", "너의아이디"); SeleniumWrapper.ClearAndInputText(wait, "//*[@id='password']", "너의비밀번호"); SeleniumWrapper.ButtonClick(wait, "//*[@id='leftS']/div[2]/form/div[1]/ul/li[4]/a/img"); // 로그아웃 버튼 10체크 if (!SeleniumWrapper.SelectElement(wait, "//*[@id='leftS']/div[2]/div[1]/p[2]/a")) throw new Exception("로그인 실패"); // 로그인 후 또 뜨는 팝업창 닫기 SeleniumWrapper.OtherCloseByTitle(driver, "인터넷등기소"); SeleniumWrapper.SwitchWindow(driver, mainWindow); SeleniumWrapper.ButtonClick(wait, "//*[@id='gnb']/li[2]/h2/a"); // 등기신청 SeleniumWrapper.ButtonClick(wait, "//*[@id='Lcontent']/div[2]/div/ul/li[2]/a/img"); // SeleniumWrapper.ButtonClick(wait, "//*[@id='id_wrt_cs_inq_area']/div[3]/button[1]"); // 신규작성 }
300x250'c# Winform 개발 > 웹 자동화' 카테고리의 다른 글
브라우저 자동화(by 셀레니움) 4 - 셀레니움 테스트 랩퍼 코드 (1) 2022.09.30 브라우저 자동화(by 셀레니움) 3 - 자동화 테스트 (0) 2022.09.30 브라우저 자동화(by 셀레니움) 2 - 정리 (0) 2022.09.27 브라우저 자동화(by 셀레니움) 1 - 시작 전 잡담 (0) 2022.09.27