사용 파이썬과 셀레늄 자동화 착륙에게 12306 공식 웹 사이트를 시뮬레이션!

최근 몇 년 동안, 점점 더 심각한의 12,306에, - 상승 안티 JS, CSS 등의 암호화를 증가 년 전에 매개 변수 TK를 획득 한 후!

현재, 대부분의 사람들은이 기사도 예외는 아니다, 착륙 접근 방식은 셀레늄의 사용이다 사용합니다.

환경 :

       윈도우

  파이썬 3.6.5

모듈 :

     셀렌

  pyautogui

     시각

 

첫 번째 단계 :

  브라우저를 인스턴스화하고 12,306 공식 웹 사이트를 입력

드라이버 = webdriver.Chrome () 
driver.get ( ' https://kyfw.12306.cn/otn/resources/login.html ' ) 
driver.implicitly_wait ( 10 ) 
driver.maximize_window ()

 

 

단계 :

      계정 로그인을 클릭합니다

driver.find_element_by_xpath ( ' [2] / HTML / 바디 / DIV [2] / DIV [2] / UL / 리 ' .click) ()

 

    

 

세 번째 단계 :

  입력 상자에서 아날로그 입력은 계정 암호 :

driver.find_element_by_xpath ( ' //'* @ ID = "J 사용자 명이"] ' ) .send_keys ( ' 123456 ' ) 
driver.find_element_by_xpath ( ' // * [ID = "J-비밀번호"@] ' .send_keys) ( ' 123456 ' )

 

 

 

 

4 단계 :

  계정 암호를 입력하면, 우리는 사진 확인 코드에 클릭을 시뮬레이션하면됩니다한다!

       그래서 먼저 사진을 다운로드 :

yzm_code driver.find_element_by_xpath = ( ' / HTML / 바디 / DIV [2] / DIV [2] / DIV [1] / DIV [2] / DIV [3] / DIV ' ) 
yzm_code.screenshot ( ' yzm.png ' )

 

 

5 단계 :

  당신은 그들이 그것을 코드 도킹 플랫폼 하오, 자신의 교육 모델인지, 원하는 무엇이든, 또는 클릭을 시뮬레이션하기 위해 코드를 사용할 수 있습니다 후 다운로드 확인 코드도 가능합니다!

       앞의 두 방법은 단순히 여기에 이용되는 상기 제 3 실시 예에서, 시뮬레이션 된 클릭 수 말할 수 없다.

  여기에서 우리는 그때가 자동으로 1,2,3 1,2,3 세 사진을 클릭 내가 프로그램을 입력 한 효과를 달성하고자하는 결과를 달성하기 위해 필요,이 코드에 팔지도의 총에 대해 이야기.

  그럼 각 사진의 중심 좌표에 도착하자, 규칙이, 지능형 사람들이 한 눈에 파악해야합니다.

  나는이 작성 여기 있었다 :

INPUT = 코드 ( ' 이 코드를 입력하세요 ' ) 
(를 time.sleep . 5 ) 
point_map = {
     ' 1. ' : ' 40, 45 ' ,
     ' 2 ' : ' 116,53 ' ,
     ' 4. ' : ' 257,50 ' ,
     ' 5 ' : ' 40121 ' ,
     ' 6 ' : ' 116133 ' ,
     '3 ': ' 185,52 ' ,
     ' 7 ' : ' 185132 ' ,
     ' 8 ' : ' 257130 ' 
}

 

DEF (indexs) get_point : 
    indexs = indexs.split ( " , " ) 
    온도가 = []
     에 대한 인덱스 indexs : 
        temp.append (point_map [인덱스]) 
        인쇄 (TEMP)
     복귀 임시 


온도 = get_point (코드)

설명되지 않는 코드의이 두 문자열, 아주 기본적인 것들.
순 효과는 1, 2, 목록 당신이 얻을 것이다 입력하는 것입니다 :

['40, 45 ','116,53 ']

, 사진이 좌표에이 확인 코드의 좌표이며, 전체 화면이 아닌 글로벌 좌표를 기억하라! ! ! !

그렇다면 글로벌 좌표를받을 수 있나요? 코드 정점 (1206,428) + 인증 코드, 즉, 글로벌 좌표를 좌표! 여기에 (1206,428)의 자신을 테스트하세요!

 

 

 

 

 6 단계 :

  클릭을 시뮬레이션, pyautogui이 모듈을 사용합니다. 지연이 화면을 전환 추가해야합니다이 모듈을 사용하기 전에, 기억하십시오.

  (이 기사 만 배울 수있는 방법, 그리고 다른 의미는, 일반적으로 코드 도킹 플랫폼입니다! 우리는 이러한 방법에 사용되는 다른 프로그래밍 과정에서 지식을 적용 할 수 있기를 바랍니다!)

위한 I 에서 : 온도 
    indexs = i.split ( ' , ' ) 
    X = INT (indexs [0]) 
    , Y = INT (indexs [1 ]) 
    pyautogui.click ( 1206 + X, Y + 428)


       마지막으로, 로그인을 클릭합니다!

driver.find_element_by_xpath ( ' // * [ID = "J-로그인"@] ' ) .click ()

 

추천

출처www.cnblogs.com/qdsn/p/11622197.html