해결된 질문
작성
·
44
답변 3
1
안녕하세요, 상세 검색을 말씀해주셨는데, html 페이지 내에서 원하는 Element를 찾을 수 있다면 가능합니다. 혹시 요소가 안 보일 경우, iframe 여부나 로딩 시간 등을 확인해보세요. 사이트 URL이나 HTML 구조를 알려주시면 더 구체적으로 말씀드릴 수 있습니다. 감사합니다.
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로 생성된다면, 해당 요소가 로드될 때까지 기다렸다가 클릭 명령을 실행해야 합니다. 이때는 WebDriverWait
과 expected_conditions
을 활용하면 좋습니다.
이전에 인프런 질문 게시판에서 selenium 관련하여 많은 질문과 답변이 있었던 것으로 기억합니다. 하지만 현재 적절한 URL을 제공드리기 어려워 “selenium 클릭 자동화”에 관련된 포스트들을 검색하여 확인해보신다면 더 풍부한 정보를 얻으실 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
보내주신 이메일을 확인했을 때,
공시유형에서 정기공시 클릭은 다음과 같이
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()
이런 방향으로 가면 될 것 같습니다.
참고해주세요 ^^