c# Winform 개발/웹 자동화
-
브라우저 자동화(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.Sho..
-
브라우저 자동화(by 셀레니움) 4 - 셀레니움 테스트 랩퍼 코드c# Winform 개발/웹 자동화 2022. 9. 30. 13:36
테스트 하면서 필요했던 기능들 간단하게 Wrapper 만들어봄 /* * * test wrapper by bw50233 * */ internal class SeleniumWrapper { static int sleepMS = 300; // 엘리먼트가 있는지 체크. 대기용도로 씀 public static bool SelectElement(WebDriverWait wait, string xPath) { bool result = false; try { IWebElement elementID = wait.Until(ExpectedConditions.ElementToBeClickable(By.XPath(xPath))); result = true; } catch (Exception ex) { Console.Write..
-
브라우저 자동화(by 셀레니움) 3 - 자동화 테스트c# Winform 개발/웹 자동화 2022. 9. 30. 11:55
Selenium Wrapper 생성 1. 자식 iframe을 가려면 부모먼저 간 다음에 자식으로 가야 호출됨 2. 웹페이지 화면 화면 갱신될때,, selenium에서 대기를 못하고 시도함. wait until사용했는데도 동일 3. input 입력시 clear -> Sendkey 동작하는데 가끔 이상하게 동작함 click 후 sleep 줘야 동작하는 문제? 하나하나 노가다 테스트로 영상을 찍었음. 개인정보가 보일수 있으니 화질은 안좋게~ 자동으로 휙휙넘어가는 거만 참고
-
브라우저 자동화(by 셀레니움) 2 - 정리c# Winform 개발/웹 자동화 2022. 9. 27. 16:14
브라우저 자동화는 크롬으로만 사용하도록 고정할거임, Winform 프로그램에서 본격적으로 만들면 고민할 내용 정리 0. 커스터마이징 -> 각 기능별 config 파일에 의한 스크립트성 실행 필요 DOM? 이 변경되었을때 해당 config만 바꾸면 됨 1. 서버연동 -> 웹 개발자가 붙으면 개발안해도 되고~ 안붙으면 사용자 로그인 및 권한, 업데이트 등 API 서버 역할 데몬 개발 ( linux, java runnable jar ) 2. 크롬 및 기타프로그램 설치여부 확인 후 설치유도 -> 레지스트리로 설치여부 판단 -> 설치파일 다운로드 및 실행 3. 크롬버전 업데이트 대응 -> 크롬버전이 업데이트 되면 크롬드라이버도 같이 업데이트 되야 하므로 업데이트 시켜줘야됨 -> 예전에 찾았던것 - 누겟에서 다운로..
-
브라우저 자동화(by 셀레니움) 1 - 시작 전 잡담c# Winform 개발/웹 자동화 2022. 9. 27. 15:43
올해 초 위시켓이었나.. 사이트에서 의뢰받았던 크롤링 프로젝트가 있었음. (의뢰자 중국인으로 추정) 특정 사이트의 뉴스 데이터를 가져와 단어로 필터링 후 결과 출력 및 링크 시켜주는 기능이었으며, 처음해봤지만 셀레니움 레퍼런스가 많아 작업에 어려움은 없었다. 다만 한국어로 대화하기 굉장히 힘들어서 기억에 남는다.. 내가 중국어를 할수는 없자나? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 월단위 프로그램 유지보수 해드리는 분(법무 관계된)이 계신데 법원 API 이용해서 이런거 만들 수 있냐고 물어보신다. -> 법원 등기 자동화, "복도깨비"라는 것 작년에 개발자 몇명에게 의뢰했는데, 개발못하고 계약금만 먹고 튀었단다. ㅜ..ㅜ 직접 확인을 해보니 법원 등기소 API를 호출하는것은 아니었고 ( 조회 밖에 없다 ) 브라..