반응형
Selenium 요소 클릭하기
요소 클릭 (click)
driver.find_element(By.XPATH, 'xpath~~~).click()
send_keys() 함수로 클릭하기
from selenium.webdriver.common.keys import Keys
driver.find_element(By.XPATH, 'xpath~~~').send_keys(Keys.ENTER)
해당 요소가 화면에 보이지 않을때, 스크롤을 내려서 요소 찾기
from selenium.webdriver.common.action_chains import ActionChains
element = driver.find_element(By.XPATH, 'xpath~~~')
actions = ActionChains(driver).move_to_element(element)
actions.perform()
element.click()
javascript 실행시키기 (execute_script)
# javascript 직접 실행
driver.execute_script("실행시킬 스크립트 코드")
# javascript 클릭 메소드
element = driver.find(By.XPATH, 'xpath~~~')
driver.execute_script("arguments[0].click();",element)
요소가 로딩될 때까지 기다림 (WebDriverWait)
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
#요소가 나올때까지 최대 10초를 기다림
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "myDynamicElement"))
)
특정 텍스트 포함
# 전체 일치 (a태그의 'abc' 문자열)
driver.find_element(By.XPATH,'//*[@id="abc"]//a[text()="abc"]').click()
# 일부 일치 (a태그의 'abc' 문자열)
driver.find_element(By.XPATH,'//*[@id="abc"]//a[contains(text(),"abc")]').click()
# 전체 일치 (a태그의 'abc' 문자열)
driver.find_element(By.XPATH,'//*[text()="abc"]').click()
# 일부 일치 (a태그의 'abc' 문자열)
driver.find_element(By.XPATH,'//*[contains(text(),"abc")]').click()
check box, radio button, select box 선택
check box 체크박스
driver.find_element(By.XPATH, 'xpath~~~').click()
radio button 라디오버튼
driver.find_element(By.XPATH, 'xpath~~~').click()
select box 셀렉트박스
from selenium.webdriver.support.ui import Select
select_box = Select(driver.find_element(By.XPATH, 'xpath~~')
select_box.select_by_index(인덱스번호)
반응형
'개발기록 > python' 카테고리의 다른 글
[python] selenium-stealth 셀레늄 감지 방지 (구글 크롬) (1) | 2024.11.15 |
---|---|
구글 코랩(Colab) 사용하기 (+구글 드라이브 연결, 압축풀기) (0) | 2024.11.07 |
[python] 난수 생성하기 random의 모든 것 (0) | 2024.09.22 |
[python] python GUI 모듈 tkinter (text, input, radioButton, button) (0) | 2024.09.21 |
[python] exe 실행파일 만들기 (pyinstaller) (0) | 2024.09.21 |
댓글