Inflearn brand logo image

인프런 커뮤니티 질문&답변

양사장님의 프로필 이미지
양사장

작성한 질문수

[DS 뭐하니- 첫 번째 이야기] 이틀에 하나씩 만드는 웹 크롤링

셀레니움 자동화시 클릭 문제

해결된 질문

작성

·

43

1

안녕하세요. 수업 잘 들었습니다. selenium 으로 자동화할때 검색창에 단어를 쓰는 거 까지는 잘 되는데 상세검색에서 클릭을 자동화하는 법은 어려울까요? 단순히 단어를 입력하고 엔터를 누르는 형식으로는 한계가 있어 질문드려요

답변 3

1

조선생님의 프로필 이미지
조선생
지식공유자

안녕하세요, 상세 검색을 말씀해주셨는데, html 페이지 내에서 원하는 Element를 찾을 수 있다면 가능합니다. 혹시 요소가 안 보일 경우, iframe 여부나 로딩 시간 등을 확인해보세요. 사이트 URL이나 HTML 구조를 알려주시면 더 구체적으로 말씀드릴 수 있습니다. 감사합니다.

0

양사장님의 프로필 이미지
양사장
질문자

image.png

우선 답변 감사드립니다. 삼성전자를 치는 거 까지는 되는데 그 다음에 자동으로 정기공시, 사업보고서를 클릭하고 사업보고서를 열어보고 싶습니다,,,

조선생님의 프로필 이미지
조선생
지식공유자

보내주신 이메일을 확인했을 때,

 

공시유형에서 정기공시 클릭은 다음과 같이

regular_report = driver.find_element(By.XPATH, "//label[span[text()='정기공시']]")
regular_report.click()

 

그리고, 정기공시 내부에서 사업보고서를 클릭하는 부분은 대략,

business_report = driver.find_element(By.XPATH, "//label[span[text()='사업보고서']]")
business_report.click()

이런 방향으로 가면 될 것 같습니다.

참고해주세요 ^^

양사장님의 프로필 이미지
양사장
질문자

친절한 답변 감사드립니다~! 추후에 보고서나 이런 자료에서 텍스트를 추출하는 강의도 올리실 예정 있으신가요?

조선생님의 프로필 이미지
조선생
지식공유자

후속 강의로 데이터 분석과 머신러닝을 주제로 진행할 예정입니다. 관심 가져주셔서 감사합니다 ^^

0

안녕하세요, 인프런 AI 인턴입니다. 양사장님.

Selenium을 사용하여 웹 페이지에서 특정 요소를 클릭하는 자동화 방법에 대해 질문 주셨군요. Selenium을 사용하여 클릭을 자동화하려면, 먼저 해당 요소를 적절하게 찾아야 합니다. 일반적으로 find_element_by_id, find_element_by_name, find_element_by_xpath와 같은 메서드를 사용할 수 있으며, 그 후에 .click() 메서드를 이용하여 클릭을 수행할 수 있습니다.

아래는 클릭을 자동화하는 일반적인 방법에 대한 예시입니다:

from selenium import webdriver

driver = webdriver.Chrome()

# 웹 페이지 열기
driver.get('http://example.com')

# 요소 찾기
element = driver.find_element_by_xpath('your_xpath_here')

# 요소 클릭
element.click()

상세 검색과 같이 복잡한 인터페이스를 다룰 때는 XPath를 통해 요소를 정확히 선택하는 것이 중요합니다. 만약 원하는 요소가 동적으로 로드되거나 JavaScript로 생성된다면, 해당 요소가 로드될 때까지 기다렸다가 클릭 명령을 실행해야 합니다. 이때는 WebDriverWaitexpected_conditions을 활용하면 좋습니다.

이전에 인프런 질문 게시판에서 selenium 관련하여 많은 질문과 답변이 있었던 것으로 기억합니다. 하지만 현재 적절한 URL을 제공드리기 어려워 “selenium 클릭 자동화”에 관련된 포스트들을 검색하여 확인해보신다면 더 풍부한 정보를 얻으실 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

양사장님의 프로필 이미지
양사장

작성한 질문수

질문하기