机械化can';t登录python

机械化can';t登录python,python,mechanize,Python,Mechanize,我正在使用MechanizePython制作自动登录脚本 在我使用mechanize之前没有任何问题,但是在这个网站上我做不到 每当我尝试登录时,总是会返回登录页面,即使有正确的gmarket id,pass,我也无法登录,我看到一些可疑消息 "<script language=javascript>top.location.reload();</script>" mechanize无法与JavaScript交互。可能模块会帮助您(我没有使用它的经验,但描述是非常有希望

我正在使用MechanizePython制作自动登录脚本

在我使用mechanize之前没有任何问题,但是在这个网站上我做不到

每当我尝试登录时,总是会返回登录页面,即使有正确的gmarket id,pass,我也无法登录,我看到一些可疑消息

"<script language=javascript>top.location.reload();</script>"

mechanize
无法与JavaScript交互。可能模块会帮助您(我没有使用它的经验,但描述是非常有希望的)。此外,如果只有该站点存在此问题,您还可以手动处理此类重新加载(例如,对于此特定情况,浏览器.reload())

更新
快速浏览您的页面显示您已提交到其他URL(使用https:scheme)。查看
checkValid()
JavaScript函数。发布到它会产生其他结果。请注意,这看起来像是在提问之前你应该自己做的作业。

如果你发布了一个不起作用的代码的最小示例,那么其他人可以以此为基础开始。您好,谢谢您的回复!我在这里上传了我的脚本,如果有任何帮助的话,我会非常感激一位非常有经验的用户,所以用户在两周前要求您避免使用外部[pastebin]服务。请将代码的相关部分粘贴到您的帖子中。通过这种方式,只要代码存在,人们就可以保证代码仍然可用=>回答的几率更高。有几件事:1)示例代码导入了它不需要的第三方模块,因此您可能会得到比其他情况更少的响应。2) 在建立了params之后,你不会对它做任何事情。。。3) 我在Firefox上尝试了user/pass,但无法登录(据我所知,我不懂韩语)。谢谢辣椒粉…你说得对。你好Benji York,我刚刚用这个页面进行了测试..使用id:tgi177 pass:tk1047登录没有问题,而且我也确信我用firefox 3.0测试了登录,提前谢谢..谢谢你的回复..但问题是我不知道如何处理javascript或其他..我认为最好的方法是创建
浏览器
对象并使用它的
重载()
方法。
# -*- coding: cp949 -*-
from lxml.html import parse, fromstring
import sys,os
import mechanize, urllib
import cookielib
import re
from BeautifulSoup import BeautifulSoup,BeautifulStoneSoup,Tag

try:

    params = urllib.urlencode({'command':'login',
                               'url':'http%3A%2F%2Fwww.gmarket.co.kr%2F',
                               'member_type':'mem',
                               'member_yn':'Y',
                               'login_id':'tgi177',
                               'image1.x':'31',
                               'image1.y':'26',
                               'passwd':'tk1047',
                               'buyer_nm':'',
                               'buyer_tel_no1':'',
                               'buyer_tel_no2':'',
                               'buyer_tel_no3':''

                               })
    rq = mechanize.Request("http://www.gmarket.co.kr/challenge/login.asp")
    rs = mechanize.urlopen(rq)
    data = rs.read()    


    logged_in = r'input_login_check_value'  in data                                    
    if logged_in:
        print ' login success !'  
        rq = mechanize.Request("http://www.gmarket.co.kr") 
        rs = mechanize.urlopen(rq)
        data = rs.read()   
        print data  

    else:
        print 'login failed!'
        pass
        quit()      
except:
    pass