열심히 끝까지

디바이스 융합 자바(Java) day80 - 셀레니움 크롤링 혼자 공부한 것 본문

디바이스 융합 자바(Java)기반 풀스택 개발자 양성과정(수업내용)

디바이스 융합 자바(Java) day80 - 셀레니움 크롤링 혼자 공부한 것

노유림 2022. 10. 6. 17:51

셀레니움 라이브러리
>> 최신버전 라이브러리(pom.xml)
>> server도 쓰는건지 한번 찾아볼 것 == 하나만 사용해도 괜찮은 것으로 보임
    > 쓰게 되면 아래 java 버전만 쓸 것
<dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>3.141.59</version>
</dependency>

 

------------------------------------------아래는 안 씀
<dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-server</artifactId>
      <version>2.53.0</version>
</dependency>

------------------------------------------

 

>> 만약 spring이 아니다! 하면 
    selenium 검색하여 jar 파일 다운로드 > java Build Path에 추가

 


>> 셀레니움이 현재 느려질 수 밖에 없음
    : 크롤링 하는데 적어도 5~8초가 걸린다고 하니 크롤링 할 때, 
      시간을 딜레이해 실행하도록 해야한다. 
    : 내 컴도 똥컴이니 일단 조사부터 하자


>> chromeDriver
1. chrome
   106.. version이라는데 없으니 제일 최신인 
   94로 받는 것이 나을 것이라고 봄
    > 보니까 94의 경우 beta로 풀려난 것으로 보임. 그러니 93을 하는 것은 어떨까?

    >> 버전이 다른 것을 다운받으면 버전이 다르다는 에러와 함께 돌아가지 않음  

             == 무조건 chrome버전과 같은 버전을 깔아야만 함

    >>> 다른 사이트를 통해서 106version 다운 받음

    >> https://chromedriver.storage.googleapis.com/index.html?path=106.0.5249.61/

 

2. chromedriver에 win_32로 받자

       - window 사용자 한정(mac은 조사를 해봐야 함)

 

3. 압축파일을 내가 만든 webdriver 폴더로 옮김



>> 닫기
   > 닫을 때, close가 아닌
       quit로 닫아줘야 함 
        : 그래야 데이터 낭비(드라이버 낭비)를 하지 않음


>> 셀레니움 사용 이유
   1. 로그인 해야만 볼 수 있는 페이지를 긁어오기 위해 사용
        > 동적 페이지라고 할 지라도 http request를 이용하면 원하는 값을 가져올 수 있음

 

https://chromedriver.storage.googleapis.com/index.html?path=106.0.5249.61%2F

 

chromedriver.storage.googleapis.com