본문 바로가기
DevelopmentTools/Python

[Python] Selenium 명령어 정리

by 수짱수짱 2022. 8. 16.

크롬 드라이버 위치

import os
os.getcwd()

셀레니움 단일 요소 찾기 find_element

from selenium import webdriver
from selenium.webdriver.common.by import By

URL= "url"

driver = webdriver.Chrome(excutable_path='chromedriver')
driver.get(url=URL)

driver.find_element(By.name, "name")
driver.find_element(By.ID, "id")
find_element(By.ID, "id")
find_element(By.NAME, "name")
find_element(By.XPATH, "xpath")
find_element(By.LINK_TEXT, "link text")
find_element(By.PARTIAL_LINK_TEXT, "partial link text")
find_element(By.TAG_NAME, "tag name")
find_element(By.CLASS_NAME, "class name")
find_element(By.CSS_SELECTOR, "css selector")

셀레니움 드롭다운 메뉴 값 변경

from selenium.webdriver.support.select import Select
from selenium import webdriver

select1 = Select(driver.find_element(By.XPATH, 'xpath'))
select1.select_by_index(1) # 1번째 방법
select1.selectByValue('HTML option태그 value 속성') # 2번째 방법
select1.selectByVisibleText('Visible Text') # 3번째 방법

frame 변환( switch_to.frame() )

=> iframe은 페이지 안에 삽입 된 또 다른 웹 페이지이다.

일반적인 xpath로 크롤링이 작동하지 않는다면 iframe을 고려해야 한다.

from selenium import webdriver
from selenium.webdriver.common.by import By

driver.switch_to.frame(driver.find_element(By.NAME,"iframe"))

값 보내기 Send_keys()

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

driver.get("url")

element = driver.find_element(By.name,"name")

element.send_key("보낼 단어")


# Enter key 전달
element.send_key(Keys.ENTER)
element.send_key(Keys.RETURN)

# 단어 입력 + Enter 전달
element.send_key("단어" + Keys.ENTER)

Alert 창 처리하기

driver.find_element(By.ID,"id").click()

driver.switch_to.alert # alert창으로 이동

Alert(driver).accept() # alert창 확인 클릭

alert = driver.switch_to.alert
alert.dismiss() # alert창 취소 클릭

# alert창의 메시지 
text = Alert(driver).accept()  # 1
mesg = alert.text # 2


driver.quit() # 브라우저 닫기