728x90

윈도우즈 환경에서 잘 동작하던 코드가 리눅스(CentOS 7) 환경에서 테스트하니까 동작이 안된다.

아래와 같이 설정하면 제대로 동작되는 걸 확인할 수 있다.

 

1. Google Chrome 설치

yum -y install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

 

2. Chrome Driver 설치

먼저 google-chrome --version 을 실행하여 현재 버전을 확인한다.

 

wget https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.58/linux64/chromedriver-linux64.zip
로 파일을 다운로드 한다.

 

압축을 풀고 chromedriver 파일을 아래와 같이 옮긴다. (이게 중요하더라)

mv chromedriver /usr/bin/

 

3. 이제 코드 상에서 동작되도록 구현된 코드를 살펴보자.

chromedriver 를 /usr/bin 으로 옮겨서

driver = webdriver.Chrome(options=options) 만으로 코드가 잘 동작된다.

구글링해보면 아래와 같은 설정으로 동작이 되는 것처럼 설명되어 있지만...

driver = webdriver.Chrome(
    executable_path='크롬드라이버 설치경로', options=options
)

로 테스트 한 것은 동작이 안되었다.

 

pip install selenium 을 하면 4.18.1 버전이 설치된다. (pip list 로 확인)

# pip install selenium  
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
 
import time
 
def jusoGet(keyword):
    # 크롬 드라이버 생성
    options = Options()
    options.add_argument("headless"# 창 숨기는 옵션
    options.add_argument("--no-sandbox")
    driver = webdriver.Chrome(options=options)
    #driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
 
    # 사이트 접속하기
    url = 'https://www.juso.go.kr/support/AddressMainSearch.do?searchKeyword='
    driver.get(url+keyword) # url 페이지로 이동
    time.sleep(2# 로딩 대기
 
    try:
        h = driver.find_element(By.XPATH, value='//*[@id="list1"]/div[2]/span[2]').text
        print(h)
    except:
        pass
 
 
if __name__ == "__main__":
    keyword = '서초구청'
    jusoGet(keyword)

 

 

Python3.9 버전이 설치된 환경 변수 설정 방법

1. Python 환경변수 3.9 설정 (alias)
vi /etc/profile
 
alias python3='/usr/local/bin/python3.9'
alias python='/usr/local/bin/python3.9'
alias pip='/usr/local/bin/pip3.9'
 
source /etc/profile
 
2. 설치 확인
python
python3 -V

 

 

Python 3.9 버전과 3.11 버전 모두 정상 동작함을 확인했다.

 

 

728x90
블로그 이미지

Link2Me

,