개인 자료란 (JE)

  서버 커뮤니티

Profile 라고솔로가말했습니다 대표칭호 없음

SaidBySolo 8b58f951b6404b78ae3ba92d55d431f7

Profile

커뮤니티 소통 개발하기 프로그래밍

셀레니움 않이 이게왜 클릭이 안돼지?+드롭다운 값 선택

2020.09.09 조회 수 3604 추천 수 0

이번에 자가진단 사이트가 새롭게 바뀌었더라고요

그래서 기존에 써놨던 자동화 프로그램을 다시 갈아엎었습니다.


그런데 새롭게 바뀌면서

64330428abb1211755f31b149491ca04.png

이런식으로 리스트를 주더라고요

이걸 하드코딩없이 하는방법이 없을까하다가

셀레니움에서 Select라는걸 지원해주더라고요

해당 엘리먼트의 Xpath는 //*[@id="softBoardListLayer"]/div[2]/div[1]/table/tbody/tr[1]/td/select 이런형태인데

이걸 

from selenium.webdriver.support.select import Select


Select(driver.find_element_by_xpath('//*[@id="softBoardListLayer"]/div[2]/div[1]/table/tbody/tr[1]/td/select').select_by_visible_text("인천광역시")

이런식으로 선택을 할수있더라고요

여기까지는 문제가안되는데


아무생각 없이 Xpath로 짜던중에 

<li>가 붙은 엘리먼트가 클릭이 안되더라고요

is_enbled() 를 돌려도 True로 나오고요

그래서 삽질을 하고 찾은 답은

css_selector 로 엘리먼트를 지정해주고 .click()을 진행해주니 정상적으로 클릭되더라고요;;;


driver.find_element_by_css_selector(
    "#softBoardListLayer > div.layerContentsWrap > div.layerSchoolSelectWrap > ul"
).click()

제 능지를 잘 알게된 시간이였네요;;


참고:https://stackoverflow.com/a/28613320




2개의 댓글

고양순이
2021.01.31

안녕하세요  셀레니움을 사용하다 드롭다운 메뉴에서 막혀서 찾다가  질문 사항이 생겨 질문드립니다...


element를 계속 못 찾고있는데  아래와 같이 xpath가 나오는데  해결하신 방법인 css_selector로 변환은 어떻게 해야하나요?


/*[@id="divFormTemplate"]/div[2]/div[2]/table[1]/tbody/tr[1]/td[2]/select/option[2]

뉴스 및 창작물
/files/thumbnails/762/770/003/262x150.crop.jpg?20240418073724

레드스톤

T.B.H (고민중독) | 노트블럭 버전 | NoteBlock Cover [한국어 영어 중국어 가사 추가]

노트블럭전문가

2024-04-18

0

/files/thumbnails/218/767/003/262x150.crop.jpg?20240412130213

레드스톤

우리의 꿈 - 원피스 오프닝

노트블럭전문가

2024-04-12

0

/files/thumbnails/505/766/003/262x150.crop.jpg?20240411122306

레드스톤

기동전사 건담 수성의 마녀 | 노트블럭 커버 1

노트블럭전문가

2024-04-11

1

/files/thumbnails/932/765/003/262x150.crop.jpg?20240410124459

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

노트블럭전문가

2024-04-10

0

/files/thumbnails/403/765/003/262x150.crop.jpg?20240409190538

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

Sonttukk

2024-04-09

4