- Nuget 패키지로 Selenium 직접 다운로드 및 적용
- C# Winform을 활용한 간단한 로그인폼
- 셀레니움을 활용 자동 로그인 시스템
- 버튼클릭 소스 구현
반응형
# Nuget 패키지로 셀레니움 라이브러리 다운로드 및 적용 방법
[셀레니움/Selenium, C#] C#에서 Selenium을 사용하기 위한 준비 단계
요즘 코로나 때문에 재택근무로 전환하는 기업들이 점차 늘고 있습니다. 제 집사람도 마찬가지인데요. 주말에 재택근무를 준비한다고 해서 회사에서 무슨 일을 하는지 살펴봤습니다. 그런데 생
luckygg.tistory.com
셀레니움을 C#에서 사용하기 위한 준비단계가 위 사이트에 자세히 나와있습니다.
# 윈폼 디자인
사용된 도구 상자
Lable: 3개
CheckBox: 1개
Button: 1개
# 네임스페이스 영역
using System;
using System.Threading;
using System.Windows.Forms;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
크롬 브라우저를 사용해서 using OpenQA.Selenium.Chrome; 입력했습니다.
# 버튼, 체크박스 이벤트 영역
public Form1()
{
InitializeComponent();
}
string naverUrl =
"https://nid.naver.com/nidlogin.login?url=https%3A%2F%2Fsell.smartstore.naver.com
%2F%23%2FnaverLoginCallback%3Furl%3Dhttps%253A%252F%252Fsell.smartstore.naver.com%252F%2523";
private void btnLogin_Click(object sender, EventArgs e)
{
// 입력된 아이디, 패스워드 strig형식의 id와 pass에 각각 대입
string id = textID.Text;
string pass = textPass.Text;
IWebDriver driver = new ChromeDriver();
// 네이버 스마트스토어 로그인 페이지 이동
driver.Navigate().GoToUrl(naverUrl);
// 아이디 영역 선택
var naverId = driver.FindElement(By.XPath("//*[@id='id']"));
Thread.Sleep(100);
// 아이디 입력
naverId.SendKeys(id);
Thread.Sleep(100);
// 패스워드 영역 선택
var naverPass = driver.FindElement(By.XPath("//*[@id='pw']"));
Thread.Sleep(100);
// 패스워드 입력
naverPass.SendKeys(pass);
Thread.Sleep(100);
// 전부 입력 후 로그인 누르기
driver.FindElement(By.XPath("//*[@id='log.login']")).Click();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
// 체크박스를 체크하면 비밀번호가 보입니다(체크 해제 시 '*'로 표시).
if (checkBox1.Checked == true)
{
textPass.PasswordChar = default(char);
}
else
{
textPass.PasswordChar = '*';
}
}
- 네이버 스마트스토어 URL이 너무 길어서 필드영역 naverUrl에 대입했습니다.
- 체크박스 이벤트를 통한 비밀번호 '*'로 보이기 해제(체크 시 해제)
- Thread.Sleep()을 이용해 입력 딜레이 추가
참고 사이트(아래 클릭 시 링크로 이동)
반응형