>  기사  >  백엔드 개발  >  Python 및 WebDriver 확장을 사용하여 웹 페이지에서 드래그 앤 드롭 인증 코드를 자동으로 처리합니다.

Python 및 WebDriver 확장을 사용하여 웹 페이지에서 드래그 앤 드롭 인증 코드를 자동으로 처리합니다.

WBOY
WBOY원래의
2023-07-07 20:09:421480검색

Python 및 WebDriver 확장 프로그램을 사용하여 웹 페이지의 드래그 앤 드롭 인증 코드를 자동으로 처리하세요

웹 페이지에서 우리는 종종 다양한 인증 코드를 접하게 되는데, 그 중 가장 일반적인 것은 드래그 앤 드롭 인증 코드입니다. 이러한 유형의 CAPTCHA는 사용자가 특정 영역 내에서 슬라이더를 드래그하여 확인하도록 요구함으로써 기계 사용자와 인간 사용자를 구별합니다.

그러나 드래그 앤 드롭 보안 문자를 처리하는 것은 자동화된 테스트 또는 크롤러에게는 어려운 작업입니다. 다행히 Python과 WebDriver의 기능을 사용하면 웹페이지의 드래그 앤 드롭 인증 코드 처리를 쉽게 자동화할 수 있습니다.

먼저 필요한 도구와 라이브러리를 설치하고 구성해야 합니다. Python과 WebDriver가 설치되어 있고 브라우저와 올바르게 상호 작용할 수 있는지 확인하십시오. 다음으로 Selenium 라이브러리를 사용하여 웹 페이지 처리를 자동화하겠습니다.

샘플 코드는 다음과 같습니다.

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

def handle_draggable_captcha(driver):
    """处理拖拽验证码"""

    # 定位滑块元素
    slider = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.CLASS_NAME, 'slider'))
    )

    # 获取滑块的大小
    slider_size = slider.size

    # 获取滑块需要水平滑动的距离
    distance = slider_size['width']

    # 创建一个动作链对象
    actions = ActionChains(driver)

    # 将滑块拖动到目标位置
    actions.click_and_hold(slider).move_by_offset(distance, 0).release().perform()

# 初始化webdriver,打开浏览器
driver = webdriver.Chrome()

# 打开目标网页
driver.get('https://example.com')

# 处理拖拽验证码
handle_draggable_captcha(driver)

# 等待验证码处理完成
# 你可以根据实际情况进行适当调整
driver.implicitly_wait(10)

# 处理登录或其他操作
# ...

# 关闭浏览器
driver.quit()

위 코드에서는 먼저 selenium.webdriver 모듈, ActionChains 클래스 및 By 클래스를 포함하여 필요한 라이브러리를 가져왔습니다. 그런 다음 드래그 앤 드롭 인증 코드를 처리하기 위해 handler_draggable_captcha라는 함수를 정의했습니다.

이 함수에서는 먼저 WebDriverWait를 사용하여 슬라이더 요소의 로드 및 표시를 기다립니다. 그런 다음 슬라이더의 크기를 확인하고 얼마나 멀리 드래그해야 하는지 알아보세요. 다음으로 액션 체인 객체를 생성하고 click_and_hold, move_by_offset 및 release 메소드를 사용하여 슬라이더 드래그 액션을 시뮬레이션합니다.

메인 프로그램에서는 WebDriver를 초기화하고 대상 웹페이지를 엽니다. 그런 다음 Handle_draggable_captcha 함수를 호출하여 드래그 앤 드롭 인증 코드를 처리합니다. 인증코드 처리가 완료될 때까지 기다리기 위해 implicitly_wait 메소드를 사용합니다.

마지막으로 실제 필요에 따라 로그인이나 기타 작업을 수행할 수 있습니다. 완료되면 브라우저를 닫습니다.

Python 및 WebDriver 확장을 사용하여 웹 페이지의 드래그 앤 드롭 확인 코드를 자동으로 처리하면 자동화된 테스트 또는 크롤러 프로그램을 보다 효율적으로 개발하는 데 도움이 될 수 있습니다. 위의 샘플 코드에 대한 연구와 실습을 통해 더 나은 이해와 숙달이 가능할 것이라고 믿습니다. 웹페이지에서 인증 코드 끌어서 놓기를 자동화하는 데 성공하길 바랍니다!

위 내용은 Python 및 WebDriver 확장을 사용하여 웹 페이지에서 드래그 앤 드롭 인증 코드를 자동으로 처리합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.