使用selenium模擬登陸,手機驗證碼


大眾點評

from time import sleep
from selenium import webdriver
import random

def process_request(self,request,spider):
    
      phone = '電話號碼'
      driver = webdriver.Chrome()
      driver.get('http://www.dianping.com/')
      #登陸
      sleep(random.uniform(1,3))
      elem = driver.find_element_by_xpath(r'//*[@div="top-nav"]/div/div[2]/span[2]/a[1]')
       elem.click()
       #切入網頁框架
        sleep(random.unifrom(1,3))
        driver.switch_to.frame(driver.find_element_by_xpath(r'//*[@id="J_login_container"]/div/iframe'))
        # 切入 # 點擊賬號登錄
        driver.find_element_by_xpath(r"/html/body/div/div[2]/div[5]/span").click()
        # print(driver.page_source)
        #  輸入驗證碼
        sleep(random.uniform(1, 3))
        driver.find_element_by_xpath(r'//*[@id="mobile-number-textbox"]').send_keys(phone[:3])
        sleep(random.uniform(0, 2))
        driver.find_element_by_xpath(r'//*[@id="mobile-number-textbox"]').send_keys(phone[3:7])
        sleep(random.uniform(0, 2))
        driver.find_element_by_xpath(r'//*[@id="mobile-number-textbox"]').send_keys(phone[7:])
        # 點擊獲取驗證碼,等待輸入
        sleep(random.uniform(1, 3))
        driver.find_element_by_xpath(r'//*[@id="send-number-button"]').click()
        key = input('請輸入驗證碼:')
        driver.find_element_by_xpath(r'//*[@id="number-textbox"]').send_keys(key)
        # 點擊登陸
        sleep(random.uniform(0, 1))
        driver.find_element_by_xpath(r'//*[@id="login-button-mobile"]').click()
        driver.switch_to.default_content()
        # 切出框架
        sleep(random.uniform(1,5))
        # 處理cookie
        print(request)
        cookie = driver.get_cookies()
        print(cookie)
        result = {}
        for each in cookie:
            result[each['name']] = each['value']
            return result

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM