셀레니움으로 원하는 항목 클릭하기
이번 시간에는 셀레니움을 통해서 원하는 항목을 클릭하는 방법을 알아보겠습니다.
셀레니움 기본 사용법은 지난 포스팅을 참고하시면 좋습니다.
2022.08.27 - [Programming/Python] - 파이썬 웹사이트 크롤링 하기 - 4. Selenium 사용하기
먼저 셀레니움에서 클릭을 사용하기 위해서는 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
그럼 잘 사용하시기 바랍니다.
'Programming > Python' 카테고리의 다른 글
파이썬 Workbook contains no default style, apply openpyxl's default 에러 발생시 해결방법 (0) | 2022.09.28 |
---|---|
파이썬 DeprecationWarning: executable_path has been deprecated, please pass in a Service object에러 해결하기 (0) | 2022.09.20 |
파이썬 판다스 기초 - 데이터 정보 확인 및 숫자로 변환 (0) | 2022.09.02 |
파이썬 폴더/파일 관련 OS패키지 명령어 정리 (0) | 2022.09.01 |
판다스에서 특정 조건을 만족하는 값을 찾아서 변경하기 (0) | 2022.08.30 |