搜尋

首頁  >  問答  >  主體

requests - python实现自动登录需要用户名和密码的网站

我用python的requests的库实现了模拟登录人人,但是如何用浏览器打开这个自动登录后的网页呢?webbrowser打开session返回的url不管用......初入python,求教!

大家讲道理大家讲道理2869 天前701

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-04-17 13:23:21

    如果想用瀏覽器自動打開的話,可以試試看樓上兄台的建議:

    Selenium是基於webdriver的著名自動化測試工具,可以輕鬆搞定樓主的問題。

    像我下面這段給出的example,可以完成你的需求,模擬登入人人

    # -*- coding:utf-8 -*-
    
    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.common.exceptions import NoSuchElementException
    from selenium.webdriver.common.by import By
    
    wd = webdriver.Firefox()
    wd.get("http://www.renren.com")
    wd.maximize_window()
    
    try:
        """这段可以查看selenium的源码,属于smart wait"""
        email = WebDriverWait(wd,timeout=10).until(EC.presence_of_element_located((By.ID,'email')),message=u'元素加载超时!')
        email.send_keys("*** 你的账号 ***")
        passwd = WebDriverWait(wd,timeout=10).until(EC.presence_of_element_located((By.ID,'password')),message=u'元素加载超时!')
        passwd.send_keys("*** 你的密码 ***")
        wd.find_element_by_id("login").click() #点击登录
    except NoSuchElementException as e:
        print e.message
    

    感謝閱讀。

    回覆
    0
  • 迷茫

    迷茫2017-04-17 13:23:21

    使用python的這個庫吧 selenium ,這個強大,構建自動化測試都毫無壓力

    回覆
    0
  • 取消回覆