Selenium+Python 자동화 조작 로그 인 인터페이스 인 스 턴 스(간단 한 인증 코드 이미지 검증)

가장 간단 한 웹 브 라 우 저의 로그 인 인터페이스 부터 로그 인 인터페이스 는 다음 과 같 습 니 다.

웹 페이지 자동화 테스트 를 실시 하고 페이지 의 요 소 를 포 지 셔 닝 하고 조작 하 는 것 이 핵심 입 니 다.조작 은 포 지 셔 닝 을 전제 로 하기 때문에 페이지 요소 에 대한 포 지 셔 닝 은 자동화 테스트 를 하 는 기초 이다.
페이지 의 요 소 는 사람 처럼 여러 가지 속성 이 있 습 니 다.예 를 들 어 요소 이름,요소 id,요소 속성(class 속성,name 속성)등 이 있 습 니 다.webdriver 는 요소 의 이러한 속성 을 이용 하여 포 지 셔 닝 을 하 는 것 입 니 다.
포 지 셔 닝 에 사용 할 수 있 는 자주 사용 되 는 요소 속성:
id
name
class name
tag name
link text
partial link text
xpath
css selector
웹 드라이버 에 대응 하 는 포 지 셔 닝 방법 은 다음 과 같 습 니 다.
driver.find_element_by_가장 많이 쓰 이 는 간단 하 다
driver.find_element_by_가장 자주 사용 되 는 간단 하 다
driver.find_element_by_class_name()
driver.find_element_by_tag_가장 믿 을 수 없다
driver.find_element_by_link_text()―포 지 셔 닝 문자 연결
driver.find_element_by_partial_link_text()―포 지 셔 닝 문자 연결
driver.find_element_by_xpath()―가장 유연 하고 만능
driver.find_element_by_css_selector()
위 는 하나의 요 소 를 찾 는 방법 이 고 해당 웹 driver 도 하나의 요 소 를 찾 는 방법 이 있 습 니 다.

driver.find_elements_by_name() 
driver.find_elements_by_id() 
driver.find_elements_by_class_name() 
driver.find_elements_by_tag_name() 
driver.find_elements_by_link_text() 
driver.find_elements_by_partial_link_text() 
driver.find_elements_by_xpath() 
driver.find_elements_by_css_selector()
인터페이스 에서 알 수 있 듯 이 주로 세 개의 입력 데이터 가 필요 하 다.먼저 우 리 는 F12 를 파악 하여 페이지 요 소 를 봐 야 한다.
텍스트 상 자 를 오른쪽 단추 로 눌 러 요 소 를 봅 니 다.(사용자 이름 텍스트 상 자 를 예 로 들 면)

이 텍스트 상자 에 사용자 이름"XXX"를 입력 하 십시오.코드 는 다음 과 같 습 니 다.

driver.find_element_by_id("os_username").send_keys("XXX")
암 호 는 같다.
인증 코드 작업 이 복잡 합 니 다.PIL+tesseract+image 코드 라 이브 러 리 를 사용 해 야 합 니 다.미리 준비 해 야 합 니 다.제 생각 은 먼저 driver.save 를 사용 하 는 것 입 니 다.screenshot("test.png")은 이 전체 로그 인 인터페이스 를 캡 처 하고 저장 한 다음 에 인증 코드 영역 을 선택 하여 캡 처 하여 저장 합 니 다.영역 선택 은 region=(left.x,left.y,right.x,right.y)을 사용 합 니 다.그 중에서(left.x,left.y)은 왼쪽 상단 픽 셀 좌표 이 고(right.x,right.y)는 오른쪽 하단 픽 셀 좌표 입 니 다.nimg=img.crop(region)을 사용 하여 인증 코드 영역 을 캡 처 하고 nimg.save("new"test.png)저장 합 니 다.마지막 으로 pytesseract.imageto_string(image)방법 은 그림 인증 코드 를 문자열 로 변환 합 니 다.구체 적 인 코드 구현 은 추가 코드 를 참조 하 십시오.
세 개의 입력 이 완료 되면 로그 인 단추 의 클릭 입 니 다.F12 요 소 는 그림 과 같 습 니 다.
코드 는 다음 과 같 습 니 다:

driver.find_element_by_class_name("btnSub").click()
이때 로그 인 을 완료 할 수 있 습 니 다.이 인증 코드 를 식별 하 는 방법 은 간단 한 인증 코드 만 식별 할 수 있 고 너무 복잡 한 식별 은 오류 가 발생 할 수 있 습 니 다.
주:한자 로 로그 인 하려 면 사용 해 야 합 니 다.

G = u”   ” 
driver.find_element_by_id(“os_username”).send_keys(G)
상세 코드

 # -*- coding: utf-8 -*-
 #coding=UTF-8

 from selenium import webdriver
 from PIL import Image
 import pytesseract
 driver = webdriver.Chrome() 
 driver.get('http://XXX') #       
 driver.refresh()   #    
 driver.maximize_window() #      
 driver.save_screenshot("test.png")

 img = Image.open("test.png")
 region = (940, 355, 1030, 385)#        
 nimg = img.crop(region)
 nimg.save("new_test.png")

 image = Image.open("new_test.png")
 vcode = pytesseract.image_to_string(image)
 driver.find_element_by_id("os_username").send_keys("XX
X")
 driver.find_element_by_id("password").send_keys("XXX")
 driver.find_element_by_id("RandomCode").send_keys(vc
ode)
 driver.find_element_by_class_name("btnSub").click()
이상 의 Selenium+Python 자동화 조작 로그 인 인터페이스 인 스 턴 스(간단 한 인증 코드 이미지 검증 이 있 음)는 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 하 시 기 를 바 랍 니 다.여러분 들 이 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기