프로그래밍/python
파이썬 셀레니움 html 특정영역 드래그하여 복사하는 코드
콘솔워크
2024. 11. 29. 14:32
반응형
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
# 새 탭에서 URL로 이동
driver.get(product_url)
time.sleep(1)
wait = WebDriverWait(driver, 10)
wait.until(EC.presence_of_element_located((By.XPATH, '//h2[contains(text(), "상품 설명")]')))
# 상품 설명 영역의 시작점 찾기
start_element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "div.ProductExplanation"))
)
# 드래그할 영역의 끝점 찾기
end_element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "div.ProductExplanation__commentBody"))
)
# 시작 요소가 보이도록 스크롤
driver.execute_script(
"""
arguments[0].scrollIntoView({block: 'center', behavior: 'instant'});
""",
start_element,
)
time.sleep(1)
# JavaScript로 텍스트 선택
select_script = """
const range = document.createRange();
range.setStartBefore(arguments[0]);
range.setEndAfter(arguments[1]);
const selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
return true;
"""
driver.execute_script(select_script, start_element, end_element)
time.sleep(1)
# 복사 동작 수행
actions = ActionChains(driver)
actions.key_down(Keys.CONTROL).send_keys("c").key_up(Keys.CONTROL)
actions.perform()
time.sleep(0.5)
# 클립보드 내용 확인
clipboard_content = pyperclip.paste()
print("클립보드에 복사된 내용 길이:", len(clipboard_content))
반응형