멍멍이네 블로그

1. sudo apt install phpmyadmin 

- phpmyadmin 설치 명령어.

 

2. sudo ln -s /usr/share/phpmyadmin /var/www/html

- phpmyadmin과 apache의 경로가 다르기 때문에, phpmyadmin 설치 후 연결해주어야 한다.(ln)

 

 

 

* 주의 *
phpmyadmin 설치 후 실행했는데

The mbstring extension is missing. Please check your PHP configuration.

접속 시 위와 같은 에러가 뜰 경우

 

sudo apt-get install phpmyadmin php-mbstring php-gettext

sudo service apache2 restart

명령어를 통해 설치 및 아파치 재시작을 해주면 해결된다.

vnc로 라즈베리파이에 접근하려고 한다.

그런데 오랜 대기시간이 걸리며, 위와 같은 에러가 뜬다.

 

대부분 time out이 뜰 경우, 외부접근을 못한다는 뜻이다.

 

하지만 나와 같은 경우는 외부접근은 되는데, vnc가 안되는 상황.

 

이 상황 일 경우, 컴이 꺼져있거나, 라즈베리파이에서 접근 허용이 안 날 경우

방화벽이 막은 상황이었다.

 

방화벽을 해제하거나 vnc 포트(내부포트 5900)을 방화벽에서 예외처리를 해주어야 한다.

 

sudo ufw allow 내부포트
ex) sudo ufw allow 5900

초간단 설명

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() 는 셀레니움 홈페이지(?) 참조.