반응형
-
Nuget 패키지로 Selenium 직접 다운로드 및 적용
-
C# Winform을 활용한 간단한 로그인폼
-
셀레니움을 활용 자동 로그인 시스템
-
버튼클릭 소스 구현
# Nuget 패키지로 셀레니움 라이브러리 다운로드 및 적용 방법
셀레니움을 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()을 이용해 입력 딜레이 추가
참고 사이트(아래 클릭 시 링크로 이동)
반응형
'프로그래밍언어 & 프레임워크 > C#' 카테고리의 다른 글
C# 대리자(Delegate) (0) | 2021.05.20 |
---|---|
C# 속성(Property) (0) | 2021.05.20 |
C# 예외처리하기(Exception) (0) | 2021.05.19 |
C# 인터페이스(Interface) (0) | 2021.05.18 |
WPF UI 코딩 배우기1 (0) | 2021.04.25 |