본문 바로가기

코딩(Coding)

코딩시 구글링 팁 및 첫 파이썬 오류해결(find_Element)

반응형

파이썬 인기가 높아지면서 구글링 하면 파이썬 관련 예제들이 많다.

하지만 파이썬도 업그레이드가 지속적으로 되다 보니 오래된 예제문들의 오류가 발생되고

똑같이 따라 해도 실행이 안될 경우가 많다

(너무 오래된 예제는 따라 안하는데....)

코딩시 구글링 팁


검색어 뒤에 after:년도(2020)를 붙히면 해당년도(이전은 제외)이후로 검색 가능

예를 들면 

구글검색시 

python 예제 라고 치면 엄청 많이 나옴
검색결과 약 3,150,000개 (0.25초)

날짜 상관없이 많은 데이터가 검색이 됨




python 예제 after:2021
검색결과 약 69,400개 중 7페이지 (0.37초)

날짜를 지정해서 검색을 할경우는 이렇게~~



2021년 이후만 보자라는 명령어를 주기때문에 첫번째 검색 결과와 다르다.

 

이게 뭐가 중요하지 라고 생각 할수도 있겠지만..

 

따라하거나 배우는 입장에서

 

서버나 언어쪽은 계속 업데이트를 합니다.

 

처음부터 명령어가 잘 안맞거나 하면 다른거 찾으면 상관없지만

 

반정도 따라 왔는데 언어관련 라이브러리나 서버쪽 커널이 더이상 해당 커널 업데이트를 하지 않는다고 하면

 

따라 하다가 실행이 되질 않아 멘붕이 옵니다.

 

그럼 배우는 입장에서 막막하죠!!

재미를 붙혀야 되는 상황에서 벽에 부딪히게 되니 문제만 많습니다.

 

당장 예를 들면

 

파이썬 자동화 대표적인 셀레니움을 따라 하다가 오류로 인해 막힌적이 있는데

 

물론 사이트에는 정상적으로 작동이 되어서 포스팅을 했겠죠..

 

 

AttributeError: 'WebDriver' object has no attribute 'find_Element_By_XPath

 

딱 몇주전에 고생한 저 오류 문구

처음 접하게되는 파이썬 에러 메세지

 

구글링을 통해 알게된건 라이브러리 업데이트로 인해 명령어가 변경된 (Upgrade to Selenium 4)

https://www.selenium.dev/documentation/webdriver/getting_started/upgrade_to_selenium_4/

 

Upgrade to Selenium 4

Are you still using Selenium 3? This guide will help you upgrade to the latest release!

www.selenium.dev

 

이전 명령어는 아래와 같고

findElementByXPath("xPath");

 

라이브러리 업그레이드로 인해 이제부터는 아래와 같이 변경된 명령어로!!

findElement(By.xpath("xPath"));

 

find_Element_By_XPath('/html/body/div[1]')

 


find_element(By.XPATH, '/html/body/div[1]')

 

이렇게 쓰면 오류 없이 정상적으로 작동 됩니다.

 

 

간단한 셀레니움 구글사이트에서 검색어를 자동으로 넣어 검색해 보자!

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from time import sleep, strftime
import datetime
from datetime import datetime


browser = webdriver.Chrome()    #Chrome webdriver path
browser.get('http://google.com')    #web url
browser.set_window_size(860,800)       #web browser size set

# search word input_search by find_element
#element = browser.find_Element_By_XPath('/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input')
element = browser.find_element(By.XPATH, '/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input')

# searchword box click
element.click()

# search word input
element.send_keys("서태지")

# search word process(enter)
element.send_keys(Keys.ENTER)

# Wait for () second(s)
sleep(5)

# browser.close
browser.close()

 

실행을 하면 다음과 같습니다.

 

구글 검색어를 자동으로 넣어서 검색해보자!!!

 

 

 

처음부터 이해보단 따라해서 결과값을 얻게 되면 재미도 얻게 됩니다.
※셀레니움 자동화 즉 브라우저를 자동화 하기 위해서 html 기본 지식이 있으면 금방 따라 갑니다.

 

비주얼 스튜디오 코드를 통해 코드를 짰는데 설치 및 설정은 많이 포스팅 되어 있어서 생략했습니다 :)

 

 

 

비주얼 스튜디오 코드(VSCODE)

 

참고!!

https://www.youtube.com/watch?v=NfR_jPZDIwE 

어제 파이썬 설치 및 VSCODE 강의 동영상 올라와서 공유 해드립니다!!

글(포스팅)로 보면서 따라 하는것 보다 동영상 보시면서 따라 하시면 훨씬 쉽습니다!! 화이팅

반응형

'코딩(Coding)' 카테고리의 다른 글

간단한 배치파일 만들기  (2) 2023.03.25
셀레니움 pyautogui 마우스자동화 selectbox  (2) 2023.02.16
코딩을 해보자!!  (2) 2022.12.15