selenium 설정 헤더의 쿠키 인증코드 건너뛰기

1400 단어
selenium의 로그인에서 인증 코드를 입력해야 하기 때문에 여러 가지 방법을 사용했는데 식별 정확도가 높지 않다(비교적 믿을 만한tesseract).다음 몇 가지 방법으로 대체할 수 있다
  • 인증번호 제거
  • 만능 인증번호 설정
  • 쿠키 대체
  • 내가 사용하는 세 번째 방법은 먼저 브라우저에 수동으로 로그인한 다음에 Request 헤더를 보고selenium의 헤더로 복사하는 것이다
    # -*- coding: utf-8 -*-
    
    from selenium import webdriver
    import os
    headers = { 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        'Accept-Encoding':'gzip, deflate, sdch',
        'Accept-Language':'en-US,en;q=0.8',
        'Cache-Control':'max-age=0',
        'Connection':'keep-alive',
        'Cookie':'thinkphp_show_page_trace=0|0; token=lufs9rm61fl5jqecb3gqh56i66; Hm_lvt_080836300300be57b7f34f4b3e97d911=1478065312,1478138929; Hm_lpvt_080836300300be57b7f34f4b3e97d911=1478140277',
        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36' }
    
    for key in headers:
        webdriver.DesiredCapabilities.PHANTOMJS['phantomjs.page.customHeaders.{}'.format(key)] = headers[key]
    phantomjs_path = r"E:\app\phantomjs-2.1.1-windows\bin\phantomjs.exe"
    driver = webdriver.PhantomJS(executable_path=phantomjs_path, service_log_path=os.path.devnull)
    driver.get("url")  
    driver.maximize_window()  #       
    print(driver.title)
    
    
    
    

    좋은 웹페이지 즐겨찾기