라고솔로가말했습니다
대표칭호 없음
SaidBySolo 8b58f951b6404b78ae3ba92d55d431f7
이번에 자가진단 사이트가 새롭게 바뀌었더라고요
그래서 기존에 써놨던 자동화 프로그램을 다시 갈아엎었습니다.
그런데 새롭게 바뀌면서
이런식으로 리스트를 주더라고요
이걸 하드코딩없이 하는방법이 없을까하다가
셀레니움에서 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()
제 능지를 잘 알게된 시간이였네요;;
고양순이
2021.01.31안녕하세요 셀레니움을 사용하다 드롭다운 메뉴에서 막혀서 찾다가 질문 사항이 생겨 질문드립니다...
element를 계속 못 찾고있는데 아래와 같이 xpath가 나오는데 해결하신 방법인 css_selector로 변환은 어떻게 해야하나요?
/*[@id="divFormTemplate"]/div[2]/div[2]/table[1]/tbody/tr[1]/td[2]/select/option[2]
라고솔로가말했습니다
2021.02.15Copy select