멍멍이네 블로그

초간단 설명

1. NuGet패키지에서 셀레니움 추가.

2. 사용할 웹 브라우저 드라이버를 NuGet에서 추가.

- (필자는 크롬 사용함. 검색 결과가 많음 -> 구글링에 많은 데이터가 돌아다님.)

3. 크롤링 할 페이지에 가서 F12 - DevTools에서 cs를 확인 후 자기가 접근할 데이터의 태그를 확인.

4. 접근할 데이터의 태그를 가지고 데이터 접근 및 키 입력(버튼 클릭, 아이디 혹은 검색어 입력 등)

 

 

 

 

 

 

 

** Visual Studio 2019 버전 기준 설명입니다. **

1. 프로젝트를 실행한 후 NuGet 솔루션을 켭니다.

(도구 탭 - NuGet 패키지 관리자 - 솔루션용 NuGet 패키지 관리)

 

2. NuGet 솔루션 창에서 Excel을 검색하여 현재 패키지에 추가해줍니다.

NuGet 솔루션창.

* 셀레니움 - 웹 드라이버와, 브라우저 드라이버를 설치해준다.

 

3. 셀레니움을 사용하기 위하여 using 선언.

using OpenQA.Selenium;

using Open.Selenium.Chrome;

 

var driverService = ChromeDriverService.CreateDefaultService(); // 크롬 드라이버 서비스를 기본값으로 설정.

var options = new ChromeOptions(); // 크롬 옵션 설정

 

using (IWebDriver driver = new ChromeDriver(driverService, options))  // 생성자가 많음. 정의부분 가서 확인 후 필요한 방식대로 사용하면 됨.
{

    driver.Url = "http://www.naver.com"; // 브라우저 실행. 접근 할 웹페이지의 url 입력. 

    var searchTextBox = driver.FindElement(By.XPath("접근 할 버튼 혹은 검색창의 XPath"));

}

 

* xpath 확인법.

해당 웹페이지로 접속 후 F12를 누른다.

 

 

 

우측에 생기는 DevTool에서 위쪽 Elements 탭 왼쪽으로 두칸에 있는 네모+화살표 모양을 클릭한다.(단축키 컨트롤+쉬프트+C)

버튼을 클릭한 후 Elements창에서 열리는 해당 속성 태그를 우클릭 후 Copy - Copy XPath를 클릭한다.

필요에 따라 XPath 외 다른 방식을 이용해도 된다.

By.XPath 외에도 By.ClassName이나 By.TagName 메소드도 있음.

 

.Click() 이나 .SendKeys나 .Clear() 는 셀레니움 홈페이지(?) 참조.