본문 바로가기
programming/WebAutomation

c# 셀레니움 설치 nuget 패키지 라이브러리 사용하기

by 개코 - 개발과 코딩 2024. 2. 8.

C#으로 웹자동화를 하기 위해선 nuget 패키지 관리자를 이용해 셀레니움 ( selenium ) 웹드라이버를 설치해야 한다. 웹드라이버가 설치되면 코드를 작성하고 실행하면 웹브라우저가 나타나 웹페이지들을 자동으로 탐색하는 것을 볼 수 있다. 각 페이지의 요소들도 접근이 가능하기 때문에 지금의 크롤링 또는 스크래핑에도 이용된다. 단, 보안툴이 있거나 데이터의 수집을 금지하는 곳도 있기 때문에 먼저 웹사이트의 정책을 확인해 보도록 한다.

nuget package manager / selenium web driver

C# 셀레니움의 시작
nuget 라이브러리 설치하기

C# 에서 셀레니움 ( Selenium ) 을 사용하려면 먼저 셀레니움 라이브러리가 필요하다.
C# 을 한다면 당연히 비주얼 스튜디오 ( Visual Studio ) 을 사용할 것이며, nuget 을 알고 있을 것이다.
nuget 은 비주얼 스튜디오에서 라이브러리와 같은 패키지를 관리하나는 하나의 툴이다.
nuget 에서 셀레니움 구동에 필요한 드라이버를 검색하고 다운로드 받으면 된다.
이후부터는 공개 문서 등을 이용하여 드라이버를 불러오고 요소를 찾고 값을 읽기 쓰기 하면 된다.
이번엔 nuget 을 이용해 셀레니움 사용을 위한 드라이버를 설치해 보도록 한다.

nuget 에서 셀레니움 드라이버 설치 방법

ㅇㅇ

  1. 비주얼 스튜디오를 실행한다.
  2. 프로젝트를 생성한다.
  3. 프로젝트에서 마우스 오른쪽 버튼을 클릭한다.
  4. 메뉴에서 NuGet 패키지 관리를 선택한다.
  5. 찾아보기 항목에서 Selenium.Webdriver 를 검색한다.
    떠는 NuGet Gallery | Selenium.WebDriver 4.17.0 을 방문하여 설치가이드를 참고한다.
  6. 항목에서 마우스로 선택하고 설치 버튼을 클릭한다.
  7. 설치가 시작된다.
  8. 코드를 작성한다.

따라하기

먼저 비주얼 스튜디오 ( Visual Studio ) 를 실행하고 프로젝트를 만든다.
프로젝트를 선택하고 마우스 오른쪽 버튼을 클릭하면 여러가지 메뉴 중 NuGet 패키지 관리 를 선택한다.

NuGet 패키지 관리 선택

NuGet 패키지 관리를 선택하면 화면이 변경되고 셀레니움 ( Selenium ) 패키지를 설치할 수 있는 화면을 볼 수 있다.
찾아보기 탭을 선택한 후 Selenium.WebDriver 를 입력하여 패키지를 검색한다.
Selenium.WebDriver 를 선택한다.
여러가지 버전이 나오지만 셀레니움 공식홈페이지에서 지정한 드라이버를 선택한다.

Selenium.WebDriver 검색 후 선택

Selenium.WebDriver 를 선택하면 우측화면에 설치 버튼이 나타난다.
설치 버튼을 누르면 선택한 프로젝트에 패키지를 설치할 수 있다.

Selenium.WebDriver 패키지 설치

솔루션을 변경하려는 메세지가 보여준다.
선택한 프로젝트에 패키지를 설치할 때마다 나오는데, 프로젝트에 설치할 패키지에 적용시키는 작업이다.
적용 버튼을 누르면 된다.

설치할 패키지 프로젝트 적용

설치가 완료되면 설치버튼이 제거버튼으로 바뀐다.
그리고 프로젝트의 참조 항목을 살펴보자.
WebDriver 가 추가된 것을 볼 수 있다.

Selenium 패키지 설치 완료

위의 과정으로 셀레니움 ( Selenium ) 설치가 완료되었다.
이 후 작업은 코딩으로 웹자동화를 할 수 있다.

코드를 작성하기 전에 웹자동화를 위한 단계를 살펴보자.

 

selenium / 셀레니움 크롤링과 스크래핑 자동화를 위한 단계

웹페이지를 자동화하는데 셀레니움 ( selenium ) 은 강력한 도구이다. 웹페이지에 표시된 모든 요소에 접근이 가능하며, 자동화를 통해 크롤링과 스크래핑이 가능하다. 그렇기에 자동화를 위한 8가

lngnat.tistory.com

샘플코드

위의 과정으로 셀레니움 ( Selenium ) 을 사용할 준비가 되었고, 이제 웹자동화를 실행하면 된다.
아래의 간단한 코드를 보자.
위에서 언급한 포스팅의 코드보다는 양도 적다.

using OpenQA.Selenium.Chrome;
using OpenQA.Selenium;

var driver = new ChromeDriver();

driver.Url = "https://www.google.com";
driver.FindElement(By.Name("q")).SendKeys("webdriver" + Keys.Return);
Console.WriteLine(driver.Title);

driver.Quit();


위의 코드는 웹드라이버를 이용해 크롬에 연결한다.
구글에 접속한 후 검색어에 webdriver 란 단어를 입력하고 엔터를 치고, 검색결과를 보도록 한다.
마지막으로 웹의 제목을 콘솔에 표시하고 모든 작업을 종료한다.
아주 간단한 코드지만, 웹자동화를 통해 자신이 원하는 것을 할 수 있는 그런 모든 것이 있다.

반응형

댓글