파이썬 - selenium으로 원하는 웹페이지 클릭하는 방법

셀레니움으로 원하는 항목 클릭하기

 

이번 시간에는 셀레니움을 통해서 원하는 항목을 클릭하는 방법을 알아보겠습니다.

 

셀레니움 기본 사용법은 지난 포스팅을 참고하시면 좋습니다.

2022.08.27 - [Programming/Python] - 파이썬 웹사이트 크롤링 하기 - 4. Selenium 사용하기

 

파이썬 웹사이트 크롤링 하기 - 4. Selenium 사용하기

이번 시간에는 이어서 셀레니움을 통해 크롤링 하는 방법을 알아보겠습니다. 셀레니움 준비하기 먼저 셀레니움을 쓰기 위해서는 크롬 드라이버를 다운받아야 합니다. 이 때 크롬 버전 확인이

remake.tistory.com

먼저 셀레니움에서 클릭을 사용하기 위해서는 2가지 방법이 있습니다.

 

  • find_element로 찾아서 클릭하는 방법
  • 원하는 위치를 클릭하는 방법

Find_element로 원하는 항목을 찾아서 클릭하는 방법

저번 시간에 배운것처럼 기본적인 항목을 불러오고 이번시간에는 options을 통해서

 

셀레니움에 관한 설정을 한다음 클릭하는 것을 배워보겠습니다.

 

options 중 최대화와 시크릿 모드는 아래의 옵션을 통해서 실행 가능합니다.

options.add_argument('--start-maximized')  : 최대화
options.add_argument('incognito')  : 시크릿모드로 실행

 

저번시간에 배운것처럼 클릭하고자 하는 항목을 찾고 copy Xpath를 하면 됩니다.

그리고 아래와 같이 코드를 찾으면 됩니다.

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

options = Options()


options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36")
#options.add_argument("--window-size=1920x1080")
options.add_argument('--start-maximized')
options.add_argument('incognito')

browser = webdriver.Chrome('C:\python\chromedriver.exe', options=options) 
browser = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)


browser.get("https://remake.tistory.com/16")
time.sleep(7)

elem = browser.find_element(By.XPATH, '//*[@id="header"]/h1/a]')
if elem.is_enabled():
    elem.click()

그리고 이제 위치로 클릭하는 것은 위의 방법과 유사한데요.

 

마우스 포인터 위치로 클릭하기

 

마우스 포인터 위치로 클릭하기 위해서는 action_chains 패키지를 활용해야 합니다.

 

from selenium.webdriver.common.action_chains import ActionChains

 

즉 ActionChains를 불러온다음 move_by_offset을 통해 위치를 이동시키면 됩니다.

from selenium.webdriver.common.action_chains import ActionChains

ac = ActionChains(browser)
ac.move_by_offset(0, 350)
ac.click()
ac.perform()

이때 좌표는 아래와 같은 마우스 좌표 추적기를 통해서 좌표를 따시면 됩니다.

https://xsylphid.tistory.com/6

 

마우스 좌표 추적기 2010 Rev2

예전에 만들었던 마우스 좌표 추적기 입니다. 이번에 기회에 디자인과 코딩을 새롭게 바꾸었습니다. 항상 위 기능도 추가하여 다른프로그램이 실행중이여도 좌표을 알수 있습니다.

xsylphid.tistory.com

그럼 잘 사용하시기 바랍니다.