이 글에서는 주로 Python에서 JQuery 슬라이딩 잠금 해제를 시뮬레이션하는 Selenium의 예를 소개합니다. 관심 있는 친구들은 참고할 수 있습니다.
이 글에서는 Python에서 JQuery 슬라이딩 잠금 해제를 시뮬레이션하는 Selenium의 예를 소개하고 싶습니다. 여러분에게 메모를 남겨주세요
슬라이딩하여 잠금 해제하는 것은 항상 UI 자동화의 어려움 중 하나였습니다. 웹 UI 자동화 테스트를 처음 접하는 학생들에게 몇 가지 아이디어를 제공하기 위해 슬라이드하여 잠금 해제하는 예를 추가하겠습니다.
먼저 예시를 살펴보겠습니다.
슬라이더를 수동으로 클릭하면 스타일만 변경됩니다.
1. 슬라이드-잠금 해제 핸들은 슬라이더를 나타내며 슬라이더의 왼쪽 여백이 점점 커집니다. 오른쪽! )
2. 슬라이드가 지나간 곳이 노란색으로 변했기 때문에 슬라이드 후 노란색 배경을 나타냅니다.
이것 외에는 다른 변경사항은 없어서 마우스 드래그를 사용할 수 없는 것 같습니다! 마우스 드래그는 한 요소를 다른 요소로 이동시키기 때문입니다. 이렇게:
# 定位元素的原位置 element = driver.find_element_by_id("xx") # 定位元素要移动到的目标位置 target = driver.find_element_by_id("xx") ActionChains(driver).drag_and_drop(element, target).perform()
하지만 수동 시연 중에 요소의 위치는 변경되지 않았습니다.
어떻게 달성하는지 볼까요?
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from selenium.common.exceptions import UnexpectedAlertPresentException from time import sleep driver = webdriver.Chrome() driver.get("https://www.helloweba.com/demo/2017/unlock/") dragger = driver.find_elements_by_class_name("slide-to-unlock-handle")[0] action = ActionChains(driver) action.click_and_hold(dragger).perform() #鼠标左键按下不放 for index in range(200): try: action.move_by_offset(2, 0).perform() #平行移动鼠标 except UnexpectedAlertPresentException: break action.reset_actions() sleep(0.1) #等待停顿时间 # 打印警告框提示 success_text = driver.switch_to.alert.text print(success_text) sleep(5) driver.quit()
driver.find_elements_by_class_name("slide-to-unlock-handle")[0]
먼저 제가 조작하고 싶은 페이지에 여러 개의 슬라이더가 있는데 먼저 클래스를 통해 모두 찾아봅니다. 속성 내부의 첫 번째 속성입니다.
click_and_hold()
click_and_hold() 메소드를 통해 슬라이더에서 마우스 왼쪽 버튼을 누릅니다.
move_by_offset()
다음 단계는 for 루프를 통해 슬라이더의 위치를 이동하는 것입니다. move_by_offset() 메서드의 첫 번째 매개 변수는 X 축이고 두 번째 매개 변수는 Y 축입니다. 단위는 픽셀입니다. 평행이동이므로 Y는 0으로 설정됩니다. X는 한 번에 두 픽셀씩 이동합니다.
잠금 해제가 성공하면 UnexpectedAlertPresentException이 발생하고 이를 포착한 후 루프가 튀어나옵니다.
각 사이클은 0.1초 동안 잠을 잔다. 시간 간격이 작을수록 움직임이 더 부드러워진다!
이제 핵심 단계가 소개되었으므로 다음 단계는 경고 상자에 대한 프롬프트 정보를 가져와 인쇄한 후 브라우저를 닫는 것입니다.
인쇄된 결과는 다음과 같습니다.
성공적으로 잠금 해제되었습니다!
위 내용은 Selenium을 사용하여 Python에서 JQuery 슬라이딩 잠금 해제를 시뮬레이션하는 방법에 대한 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!