콘솔워크

파이썬 셀레니움 html 특정영역 드래그하여 복사하는 코드 본문

프로그래밍/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))
반응형