반응형

react native는 android, iOS를 동시게 개발할 수 있는 장점이 있습니다. 동시에 두 가지 디바이스를 적용할 수 있어 생산성이 정말 최고입니다. 오늘은 Windows 환경에서 react native 설치 및 실행 방법을 알아보겠습니다.

Chocolatey 설치

가장 먼저 Windows 환경에서 패키지를 설치할 수 있는 Chocolatey를 설치해주세요. 간단하게 다양한 패키지를 설치할 수 있는 좋은 프로그램입니다.

cmd 환경에서 아래 명령어를 입력해서 설치하면 됩니다.

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

명령어를 입력하면 자동으로 다운로드 후 설치가 진행됩니다.

choco -v를 사용해서 chocolatey 버전을 확인할 수 있습니다.

choco search 패키지를 입력하면 내용을 확인할 수 있습니다.

Nodejs 설치

react-native는 javascript를 사용하므로, javascript의 런타임 Nodejs를 설치해야 합니다. 기본적으로 개발환경이 구성되어 있다면 간단하게 버전 확인 후 설치 안되어 있다면 choco 명령어를 사용해서 설치합니다.

choco install -y nodejs.install

정상적으로 nodejs가 설치되어 있다면 node -v 명령어를 사용해서 버전을 확인할 수 있습니다.

react-native CLI 설치

이제 react-native를 실행할 수 있는 react-native CLI를 설치해야 합니다.

npm install -g react-native-cli 명령어를 사용해서 react-native-cli를 설치합니다.

정상적으로 설치되었다면 npx react-native -v 명령어를 사용해서 버전을 확인할 수 있습니다.

react-native project 생성

react-native-cli이 정상적으로 설치되어 있다면 이제 react-native project를 생성해서 android 버전을 확인해야 합니다.

npx react-native init app2

react-native init 명령어를 사용해서 프로젝트를 생성합니다.

혹 실행 시 react 심벌이 아닌 텍스트 warning이 화면에서 보일 경우는 비정상적으로 react-native가 설치된 상태입니다.

https://believecom.tistory.com/781

 

react native error cli.init is not a function 해결 방법

react native를 설치 후 프로젝트를 생성할 경우 정상적으로 react 화면이 출력되어야 합니다. 하지만 비정상적으로 react native가 설치되면 "cli.init is not a function" 오류가 발생합니다. 다양한 방법을..

believecom.tistory.com

위 내용을 참고해서 react-native를 재 설치하면 정상적으로 프로젝트를 생성할 수 있습니다.

정상적으로 프로젝트가 설치되면 react-native 심벌 이미지를 확인할 수 있습니다.

Visual Studio Code 설치

이제 생성된 소스를 확인하기 위해서 가장 간편하고 쉽게 사용할 수 있는 Visual Studio Code를 설치합니다.

https://visualstudio.microsoft.com/ko/downloads

 

Visual Studio Tools 다운로드 - Windows, Mac, Linux용 무료 설치

Visual Studio IDE 또는 VS Code를 무료로 다운로드하세요. Windows 또는 Mac에서 Visual Studio Professional 또는 Enterprise Edition을 사용해 보세요.

visualstudio.microsoft.com

하단에서 Visual Studio Code를 다운받아서 설치해주세요.

Visual Studio Code 설치 후 실행하면 파일 메뉴에서 "작업 영역에 폴더 추가"를 사용해서 생성된 react-native 프로젝트 폴더를 선택합니다.

android 폴더 하단에 있는 build.gradle 파일을 오픈해서 android 실행 버전을 확인합니다. buildToolsVersion 버전이 31 버전으로 실행되는 것을 확인할 수 있습니다. Visual Studio Code를 사용하면 쉽게 코드를 수정할 수 있어 매우 편리합니다. 가장 좋은 점은 iOS에서도 사용이 가능하고 다양한 plug in을 사용할 수 있습니다. 이제 버전을 확인했으니, android SDK를 설치해야 합니다.

Android SDK 설치

Android SDK를 설치하기 위해서 android Studio를 다운로드 후 설치해주세요.

https://developer.android.com/studio?hl=ko 

 

Download Android Studio & App Tools - Android Developers

Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today.

developer.android.com

android Studio 설치 후 File -> Setting 메뉴를 선택해서 android SDK를 확인합니다.

Android API 31버전을 체크해서 SDK를 설치합니다.

정상적으로 설치되면 SDK 폴더에서 android 31 버전을 확인할 수 있습니다. 이제 AVD Manager를 사용해서 android 31 버전 Devices를 생성합니다.

정상적으로 Devices가 설치되면 android 화면을 확인할 수 있습니다. 이제 마지막으로 SDK 경로를 환경 변수에 저장합니다. 기본적으로 SDK 경로를 SDK 설치 시 상단에서 확인이 가능합니다.

새 사용자 변수를 클릭해서 ANDROID_HOME 변수 이름을 입력하고 변수 값에 SDK 경로를 등록해줍니다.

react-native androd 실행

이제 run-android 명령어를 사용해서 android 버전 react-native를 실행하겠습니다.

생성된 프로젝트 폴더로 이동해서 cmd를 실행합니다.

npx react-native run-android 명령어를 사용하면 실행 화면이 활성화되면서 Android를 구성합니다. 모든 구성이 완료되기까지는 매우 긴 시간이 필요합니다. 상위 버전에서는 Android를 별도 실행하지 않아도 자동으로 android Devices를 실행합니다.

모든 준비가 완료되면 실행된 android 화면에서 "Welcome to React Native" 앱 실행 화면을 확인할 수 있습니다. react native는 많은 설정이 필요하지만, 한번 설치하면 간단하게 업그레이드가 가능합니다. 생산성 높은 앱 개발 언어를 찾고 있다면 react-native Windows에 한번 설치해보세요. 감사합니다.

반응형
반응형

react native를 설치 후 프로젝트를 생성할 경우 정상적으로 react 화면이 출력되어야 합니다. 하지만 비정상적으로 react native가 설치되면 "cli.init is not a function" 오류가 발생합니다.

다양한 방법을 사용해도 react native 오류가 해결되지 않습니다. 해결 방법을 검색해보니 글로벌 환경 react native를 재 설치하라고 합니다. 그래서 먼저 기존 설치된 react native를 삭제합니다.

npm uninstall -g react-native-cli 명령어를 실행해서 기존 설치 환경을 모두 삭제합니다.

npm install -g react-native-cli 명령어를 실행해서 react native cli를 설치합니다.

npm install -g react-native 명령어를 사용해서 마지막 패키지를 설치하고 프로젝트를 다시 생성합니다.

npx react-native init app 프로젝트를 생성하면 정상적으로 react native 프로젝트가 생성됩니다. 간단하게 해결이 가능하므로 "cli.init is not a function" 오류가 발생하면 무조건 재 설치해주세요. 감사합니다.

반응형
반응형
데이터 정보가 점점 증가하면서 효율적인 검색 결과를 많은 개발자들이 추구하고 있습니다. 대부분 개발에 사용되는 정보는 데이터베이스(DataBase)에 저장됩니다. 하지만 검색, 분석 등 높은 리소스를 사용하는 작업일 경우 일반 데이터베이스(DataBase)는 효율이 많이 떨어지는 문제가 있습니다. 이를 보안하기 위해서 일반적인 검색엔진을 많이 사용합니다. 오늘은 검색엔진 중에서 무료로 사용이 가능한 엘라스틱서치(Elastic Search) 설치 방법을 알아보겠습니다.

 

엘라스틱서치(Elastic Search)는 Apache Lucene(아파치 루씬)기반의 Java 오픈소스 분산 검색 엔진입니다. 엘라스틱서치(Elastic Search)를 사용해서 Lucene 라이브러리를 단독으로 사용할 수 있게 되어, 방대한 양의 데이터를 신속하게 저장, 검색, 분석할 수 있습니다. 오늘은 간단하게 Windows에서 엘라스틱서치(Elastic Search) 최신 버전인 8.4 버전을 설치해보겠습니다.

엘라스틱서치(Elastic Search) 8.4 설치 방법

 

 

Download Elastic Enterprise Search

Download Elastic Enterprise Search, a package that includes both Elastic Workplace Search (for searching across all the content in your virtual workplace) and Elastic App Search (for powerful, simple-to-implement search for your apps and websites) — all

www.elastic.co

엘라스틱서치(Elastic Search)를 설치하기 위해서 위 사이트로 이동합니다.

버전을 확인하면 8.4.0으로 확인됩니다. "Windows" 버튼을 클릭해서 파일을 다운로드합니다.

350MB 정도 크기로 클릭과 동시에 다운로드됩니다.

압축된 파일을 C드라이브에 압축을 해제합니다. 다른 드라이브에 압축을 해제하면 경로 문제로 설정이 필요합니다. 처음이면 무조건 C 드라이브 압축 해제해주세요.

압축 해제 후 elasticsearch-8.4.0폴더 아래 bin폴더로 이동합니다.

Start Elasticsearch를 확인하면 bin 폴더 아래 elasticsearch 또는 elasticsearch.bat를 실행하라고 합니다. 둘 중 아무거나 실행해줍니다.

OpenJDK 실행에 따른 액세스 허용을 클릭하고 실행합니다. 정상적으로 실행되었다면, 브라우저를 실행해서 http://localhost:9200을 입력합니다. 엘라스틱서치(Elastic Search)는 기본 포트가 9200으로 설정됩니다.

엘라스틱서치(Elastic Search) 8.4 실행 인증 오류 해결 방법

그런데 실행 후 로그인 창이 출력되면서 확인이 불가능합니다.

무시하고 실행하면 "error" 메시지를 확인할 수 있습니다. 아무래도 인증에 문제가 있어 보입니다.

elasticearch-8.4.0 하위 config 폴더로 이동해서 elasticsearch.yml 설정 파일을 오픈합니다. Visual Studo Code가 설치되어 있으면 바로 실행이 가능하고, 설치 안되어 있다면 Notepad를 사용해서 오픈하면 됩니다.

elasticearch.yml파일 맨 아래쪽으로 이동해서 ssl 인증을 비활성화해주는 옵션을 입력합니다.

xpack.security.transport.ssl.enabled:false
xpach.security.enabled:false

elasticearch.yml 파일을 저장 후 elasticsearch.bat파일을 다시 실행합니다.

이제 오류 없이 엘라스틱서치(Elastic Search) 8.4버전이 정상적으로 실행됩니다.

http://localhost:9200 입력하면 엘라스틱서치(Elastic Search) 정보를 확인할 수 있습니다. 엘라스틱서치(Elastic Search) 8.4버전 부터는 인증 문제가 발생하므로, ssl 인증 관련 내용을 옵션 처리해서 실행하면 간단하게 실행 가능합니다. 시작이 반이므로 엘라스틱서치(Elastic Search)를 공부하고 싶다면 지금 바로 설치해보세요.

감사합니다.

반응형
반응형

서버 서비스를 개발하면 클라이언트 및 서버 통신 시 패킷을 확인하면서 코드를 변경해야합니다. REST API는 서비스에 따라서 많은 기능을 지원해야 하므로, 다양한 테스트가 필요합니다. 하지만, 다양한 테스트를 진행하기 위해서는 성능이 좋은 클라이언트가 필요합니다. 오늘은 별도 클라이언트 개발 없이 바로 사용할 수 있는 크롬(Chrome) 확장 프로그램 "Talend API Tester" 설치 방법을 알아보겠습니다.

Talend API Tester은 크롬(Chrome) 확장 프로그램으로  Chrome 웹 스토어에서 설치가 가능합니다.

https://chrome.google.com/webstore/category/extensions?hl=ko 

 

Chrome 웹 스토어

Chrome에 사용할 유용한 앱, 게임, 확장 프로그램 및 테마를 찾아보세요.

chrome.google.com

Chrome 웹 스토어로 이동해서 검색창에 talend를 입력하면 Free Edition 버전을 확인할 수 있습니다.

Free Edition 버전으로 사용 인증만 진행하면 자유롭게 사용할 수 있습니다. 확장 프로그램을 클릭하면 정보를 확인할 수 있습니다.

상단 오른쪽에 있는 "Chrome에 추가" 버튼을 클릭해서 확장 프로그램을 크롬(Chrome)에 설치해주세요.

크롬(Chrome) 브라우저 상단에 있는 확장 프로그램 버튼을 클릭하면 설치된 "Talend API Tester"을 확인할 수 있습니다. 오른쪽에 있는 "고정" 아이콘을 클릭해서 상단 툴바에 고정해주세요.

"Talend API Tester"를 실행 후 라이선스를 동의하면 클라이언트 화면을 확인할 수 있습니다.

왼쪽에 있는 Project 트리에서 신규 Project를 생성해주세요. Project 단위로 패킷을 관리할 수 있어 매우 편리합니다.

Project 단위로 데이터를 저장할 수 있어 다양한 패킷을 생성 관리할 수 있습니다. 

SendData에 서버 주소를 입력해서 Send 버튼을 클릭하면 접속 확인 및 패킷 정보를 확인할 수 있습니다.

"METHOD" 항목에서 GET, POST, PUT 등 다양한 패킷 변경이 가능합니다.

정상적으로 서버에 접속하면 Response 정보를 한눈에 확인할 수 있습니다.

하단에 있는 "Add header" 메뉴를 사용해서 다양한 HEADERS 정보를 추가할 수 있어 여러 가지 REST API 테스트가 가능합니다. "Talend API Tester"는 다양한 정보 패킷을 생성할 수 있어 별도 클라이언트 개발 없이 REST API 서버를 확인할 수 있는 좋은 프로그램입니다. 별도 설치 없이 크롬(Chrome) 확장 프로그램으로 어디서나 쉽게 사용할 수 있으므로, 서버를 개발 중이라면 지금 바로 설치해서 사용해보세요.

감사합니다.

반응형
반응형

C#을 사용해서 프로그램을 만들다 보면 실행 시 액세스 거부 오류를 확인할 수 있습니다. 오늘은 1차적으로 액세스 거부 오류를 우선적으로 해결할 수 있는 실행 권한을 변경하는 방법을 알아보겠습니다.

C# 프로그램 개발 시 특정 객체를 사용하다보면 오류가 발생합니다. 내용은 액세스 거부입니다. 실행 권한을 낮을 경우 객체에 접근할 수 없을 경우 발생하는 메시지입니다. 간단하게 마우스 우클릭을 사용해서 관리자 권한으로 실행하면 정상적으로 동작하지만, 매번 컴파일하면서 개발하기는 쉽지 않습니다. C#에서도 이런 문제를 해결하기 위해서 실행 시 권한을 변경할 수 있는 방법이 있습니다.

먼저 프로젝트 메뉴에서 아래쪽에 있는 프로젝트 속성을 클릭합니다.

좌측 탭 메뉴중에서 아래쪽에 있는 "보안" 메뉴를 선택합니다.

"보안" 메뉴를 선택하면 우측에 있는 "ClickOnce 보안 설정 사용"을 체크하고 저장합니다.

솔루션 탐색기에서 프로젝트 생성 시 없던 app.manifest 파일을 확인할 수 있습니다. 더블클릭해서 파일을 오픈합니다.

app.manifest 파일 상단에 보면 requestedExecutionLevel로 asInvoker, requireAdministrator, highestAvailable 3가지 권한을 선택할 수 있습니다.

아래쪽에 있는 level 항목에 "asInvoker"로 되어 있는 권한을 "requireAdministrator"로 변경하고 저장합니다.

마지막으로 "보안" 메뉴에서 "ClickOnce 보안 설정 사용"을 언 체크하고 저장합니다. 언 체크를 안 하면 기본 권한 밖에 사용할 수 없기 때문에 반드시 체크 해제해야 합니다.

모든 내용을 설정하고 컴파일을 진행하면 위 메시지를 확인할 수 있습니다. "다른 자격 증명을 사용하여 다시 시작"을 선택하면 Visual studio가 재 실행됩니다.

재 실행된 Visual Studio에서 프로젝트 선택 후 컴파일을 진행하면 기존 액세스 거부 오류가 발생하지 않고 정상적으로 프로그램이 실행되면서 특수 객체를 사용할 수 있습니다. 관리자 권한 실행은 WEB 서버처럼 운영체제에 권한이 필요할 경우 꼭 확인해야 하는 항목입니다. 관리자 권한 실행이 필요하다면 꼭 확인하고 설정 후 편리하게 컴파일해보세요.

감사합니다.

반응형
반응형

오늘은 파이썬(python)에서 requests 객체를 사용해서 GET, POST 메시지를 보내는 방법을 알아보겠습니다. requests 객체는 WEB 데이터 정보를 확인할 수 있는 객체로 크롤링에 많이 사용됩니다.

먼저 GET, POST 메시지 처리가 가능한 html를 작성했습니다. RGB 색상을 입력받아 텍스트로 확인할 수 있는 WEB 페이지입니다.

입력된 RGB 정보를 텍스트로 출력합니다. 메시지 정보는 color1, color2, color3로 설정했습니다.

get 메시지는 requests get 메서드를 사용해서 전송합니다. 기본 get parameter 정보를 텍스트 배열 형태로 저장하고, requests.get 메서드에 URL, params 정보를 입력합니다.

출력 결과 form-action.php 파일을 호출하면서 GET에 입력된 정보가 HTML BODY 부분에 출력되는 것을 확인할 수 있습니다.

post 메시지는 request post 메서드를 사용해서 전송합니다. parameter 정보는 data로 입력이 가능합니다. get 정보와 동일하게 배열을 생성 후 requests.post 메서드에 data 정보를 입력해서 URL을 호출합니다.

출력 결과 POST 정보를 확인 후 body에 color1 ~ color3 정보가 출력되는 것을 확인할 수 있습니다. requests는 WEB 크롤링부터 GET, POST 메시지를 전송할 수 있어 다양하게 많은 정보 접근이 가능한 매우 편리한 객체입니다. WEB 정보 확인이 필요하다면 파이썬(python)을 사용해서 한번 확인해보세요.

감사합니다.

반응형
반응형

사이트 정보를 가져오기 위해서는 다양한 기술을 사용할 수 있습니다. 파이썬(python)에서는 Requests를 사용해서 사이트 정보를 가져올 수 있습니다. 간단하게 설치 후 사용할 수 있어 매우 편리하게 WEB 정보를 확인할 수 있어 크롤링에 많이 사용됩니다.

먼저 requests를 설치해야 합니다. pip 명령어를 사용해서 requests를 install 해주세요.

처음 설치하면 정상적으로 설치됩니다. 전 이전에 설치되어 있어 오류 메시지가 출력되었습니다.

requests는 간단하게 get 메서드를 사용해서 사이트 정보를 확인할 수 있습니다. get 메서드에 사이트 정보를 입력합니다. status_code를 확인하면 정상적인 상태 사이트 확인이 가능합니다.

출력 결과 200 코드를 확인할 수 있습니다.

사이트 정보를 확인할 수 없는 내용을 사용할 경우 404 오류 코드를 리턴합니다.

출력 결과 404 에러를 확인할 수 있습니다. 처음 사이트 정상 유무를 먼저 확인하고 사이트 텍스트를 확인하는 게 가장 좋은 방법입니다.

text 속성을 사용하면 UTF-8로 인코딩된 사이트 텍스트 정보를 확인할 수 있습니다.

개발자 모드로 확인할 수 있는 사이트 HTML 정보를 한 번에 확인할 수 있습니다. 그런데 모든 코드가 포함되어 매우 복잡한 구조입니다.

content 속성을 사용하면를 바이너리 타입으로 변경되어 쉽게 사이트 텍스트 확인 가능합니다.

text 속성과 비교하면 매우 간결한 내용을 확인할 수 있습니다. 파이썬(python) requests 객체는 사이트 정보를 확인해서 다양한 정보를 빠르게 추출할 수 있어 매우 편리합니다. 간단한 속성으로 사용으로 빠르게 사이트 접근이 가능해서 WEB 자동화 프로그램을 개발할 때 꼭 필요한 객체입니다.

감사합니다.

반응형
반응형

크롤링 기술은 html 내용을 검색해서 다양한 정보를 빠르게 확인할 수 있는 기술입니다. 일반적으로 크롤링은 python에서 beautifulsoup를 사용해서 간단하게 html을 파싱 할 수 있어 많이 사용합니다. 오늘은 python 처럼 간편하게 HtmlAgility를 사용해서 C#에서 html 파싱 하는 방법을 알아보겠습니다.

메뉴에서 Nuget 패키지 관리자를 실행하고 "HtmlAgilityPack"를 검색해주세요. 프로젝트를 선택하고 설치 버튼을 클릭하면 프로젝트에 HtmlAgilityPack이 설치됩니다.

정상적으로 설치되면 출력 내용에서 설치 경로를 확인할 수 있습니다.

HtmlAgility를 사용하기 위해서는 기본적으로 xpath를 알아야 합니다. Chrome 브라우저에서 개발자 모드를 실행하고 크롤링하고 싶은 경로에 XPath를 저장합니다.

간단하게 naver.com 전체 내용을 확인하는 코드입니다.

string url = "https://www.naver.com";
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(url);
HtmlNode node = doc.DocumentNode.SelectSingleNode("/html/body");
Console.WriteLine(node.InnerText);

url 설정 후 HtmlWeb 객체를 사용해서 html 내용을 확인할 수 있습니다.

출력 결과 html에서 텍스트만을 확인할 수 있습니다. 간단하게 전체 내용을 확인할 수 있어 사용하기 매우 편리합니다.

이번에는 네이버 페이지에서 모든 이미지 주소를 확인하는 코드를 작성해보겠습니다.

중복되는 정보는 SelectNodes 메서드를 사용해서 접근이 가능합니다.

            HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//img");

            HtmlNode firstNode = nodes.First();

            for( int i = 0; i < nodes.Count; i++)
            {
                Console.WriteLine(nodes[i].Attributes["src"].Value);
            }

처음에 저장된 doc 객체에서 Selectnodes를 사용해서 하단에 있는 모든 img 태그를 확인합니다. 최대 nodes 개수를 확인하고 Attributes를 사용해서 "src" 내용을 모두 확인할 수 있습니다.

간단한 코드를 사용해서 html에 포함된 이미지 소스 정보를 한눈에 확인할 수 있습니다. 사용법은 매우 간단하지만, 기본적으로 html 기본 구조를 알고 있어야 크롤링 기술을 사용하기 편리합니다. C#을 사용해서 간단하게 크롤링 할 수 있어 다양한 정보를 수집하기 좋습니다. python보다 C#을 좋아한다면 지금 확인해보세요.

감사합니다.

반응형
반응형

오늘은 C#을 이용한 Chrome 매크로를 제어할 수 있는 셀레니움(Selenium) 설치 방법에 대해서 알아보겠습니다. 셀레니움(Selenium)은 ChromeDriver를 사용해서 Chrome 브라우저에서 다양한 제어할 수 있는 패키지 모듈입니다.

먼저 C# Console 프로젝트를 하나 생성해주세요.

상단 메뉴에서 도구를 선택하고 "NuGet 패키지 관리자"에서 "솔루션 NuGet패키지 관리" 메뉴를 선택합니다.

"찾아보기" 항목 아래쪽에 검색창에 "selenium"을 입력하면 설치 가능한 패키지를 확인할 수 있습니다.

"Selenium.WebDriver"를 선택하면 우측에 프로젝트 설치 항목을 확인할 수 있습니다. selenium 체크 버전 선택 후 설치 버튼을 클릭합니다.

정상적으로 프로젝트에 셀레니움(Selenium)이 설치되었습니다.

이젠 직접 Chrome을 제어할 수 있는 Driver을 설치해야 합니다.

검색 항목 아래쪽에 "Selenium.WebDriver.ChromeDriver"를 선택하고 우측에서 버전 선택 후 설치 버튼을 클릭합니다.

Chrome을 제어하기 위한 ChromeDirver가 정상적으로 설치되었습니다.

설치됨 항목에서 "Selenium.WebDriver","Selenium.WebDriver.ChromeDriver" 내용을 확인할 수 있습니다.

이제 코드를 입력해서 정상 동작을 확인하겠습니다.

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


namespace ChromeAgent
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
                                 
            IWebDriver driver = new ChromeDriver();
            driver.Url = "https://www.naver.com";            
            driver.Manage().Window.Maximize();
                      
            string cmd = Console.ReadLine();
            
        }
    }
}

ChromeDriver 클래스를 생성하고 Url를 입력하면 ChromeDriver가 동작하면서 naver.com으로 이동합니다.

컴파일을 진행하면 정상적으로 동작하지 않고, ChromeDriver.exe가 종료됩니다. 내용을 확인하면 버전 문제가 있습니다.

"Selenium.WebDriver.ChromeDriver"은 설치된 Chrome 버전을 확인해서 동일한 버전일 경우만 정상적으로 동작합니다. 기본적으로 설치 시 Driver 버전을 설치된 Chrome 매이저 버전에 맞추거나, Chrome을 업데이트해서 최신 버전으로 변경하면 문제 없이 동작합니다.

 

Chrome 버전이 동일하면 정상적으로 ChromeDriver가 실행되면서 naver.com으로 이동합니다. ChromeDriver는  Python을 사용해서 실행 도 가능하지만, C#을 주로 사용한다면 솔루션 패키지 설치 후 Chrome을 자유롭게 제어할 수 있습니다.

감사합니다.

반응형
반응형

파이썬(python)에서 selenium을 사용해서 xpath를 사용하면  DeprecationWarning 오류가 발생합니다.

발생하는 오류와 상관 없이 컴파일에는 문제가 없습니다. 하지만 오류는 그냥 넘기면 문제가 발생할 수 있어 그냥 지나가면 안 됩니다. 내용을 확인하면 find_element_by_xpath 사용해서 명시적이지 않게 접근하는게 문제인 거 같습니다.

find_element_by_xpath 함수 대신 find_element 함수를 사용하라고 합니다.

from selenium.webdriver.common.by import By

find_element 함수를 사용하기 위해서는 옵션 설정 by를 참조해야 합니다. 상단에 selenium.webdriver.common.by를 import 해주세요.

xpath = "//*[@id='tab']/table/tr[1]/td[2]"

path = driver.find_element_by_xpath(xpath)

기존 사용하던 함수를 find_element로 변경하면 됩니다.

xpath = "//*[@id='tab']/table/tr[1]/td[2]"
path = driver.find_element(By.XPATH, xpath)

이제 컴파일하면 정상적으로 오류 없이 xpath element를 사용할 수 있습니다.

감사합니다.

반응형

+ Recent posts