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

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

阅读 35.6k
2 个回答

如果想用浏览器自动打开的话,可以尝试一下楼上兄台的建议:

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

感谢阅读。

使用python的这个库吧 selenium ,这个强大,构建自动化测试都毫无压力

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏