找回密码
 加入
搜索
查看: 15092|回复: 20

[IE类操作] (已解决)如何把下列脚本转成au3的,自动登录淘宝用的

 火.. [复制链接]
发表于 2011-1-18 14:20:14 | 显示全部楼层 |阅读模式
本帖最后由 papapa314 于 2011-1-19 23:09 编辑

由于淘宝网有安全控件,用一般的填写表单的方法没有办法写入密码,用post或者get方式登录的话,一般菜鸟也没办法把用户名和密码转成淘宝专用的编码,所以自动登录淘宝一直困扰着许多人。偶然间发现有一个脚本可以自动登录淘宝,不知道哪位高手可以将它转成au3的?

Set Wshell=WScript.CreateObject("WScript.Shell")
Set ie=WScript.CreateObject("InternetExplorer.Application")
ie.visible=true
ie.navigate "http://member1.taobao.com/member/login.jhtml?login_type=3&redirect_url=&yparam=&done=&f="
Do
   Wscript.Sleep 200
Loop Until ie.ReadyState=4
ie.document.forms(1).item(0).value="您的淘宝登录用户名"
ie.document.forms(1).item(1).value="您的淘宝登录密码"
ie.document.forms(1).Submit()
发表于 2011-1-18 15:08:15 | 显示全部楼层
#include <IE.au3>

$sUrl = "https://login.taobao.com/member/login.jhtml?redirect_url="
$oIE = _IECreate($sUrl)
$oForm = _IEFormGetCollection ($oIE, 0)
$oQuery = _IEFormElementGetCollection ($oForm, 0)
_IEFormElementSetValue ($oQuery, "用户名")

$oQuery = _IEFormElementGetCollection ($oForm, 1)
_IEFormElementSetValue ($oQuery, "密码")

_IEFormSubmit($oForm)
 楼主| 发表于 2011-1-18 15:57:12 | 显示全部楼层
回复 2# smartzbs

谢谢热心回复,不过我测试了一下好像出错了。
发表于 2011-1-18 16:44:48 | 显示全部楼层
最笨的办法还是直接模拟鼠标键盘
发表于 2011-1-18 16:55:34 | 显示全部楼层
回复 3# papapa314


    在我机器上可以正常登陆
发表于 2011-1-18 17:26:43 | 显示全部楼层
不会用  感觉这东西意义不大啊
 楼主| 发表于 2011-1-18 18:15:59 | 显示全部楼层
回复 5# smartzbs


    奇怪,那你有把那个安全登录的钩钩打上吗?好像打上后密码就写不进去了。
对了,还有,对于中文的用户名可能会变成乱码,不知道有什么解决的办法没?
发表于 2011-1-19 15:22:15 | 显示全部楼层
安全登录的钩钩是打上的,虽然界面上密码那个位置是空的,但可以正常登陆.因为网页密码变量已经写进去了.
中文用户名我机器上也不会乱码.不知道和IE版本有无关系?我是xp , IE7
 楼主| 发表于 2011-1-19 15:51:41 | 显示全部楼层
回复 8# smartzbs

谢谢,特地去注册了全英文的账号,发现可以正常登陆了。
有些中文的用户名也可以登陆,但奇怪的是有些字符上去就变成乱码了,比如“小”,“学”,目前测的其他字符就不会,是不是系统字体有问题?
 楼主| 发表于 2011-1-19 16:12:36 | 显示全部楼层
本帖最后由 papapa314 于 2011-1-19 16:17 编辑

回复 5# smartzbs

现在我发现用guictrlread可以输入完整的用户名,可是直接赋值的话就乱码了呵呵

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 623, 442, 192, 124)
$Input1 = GUICtrlCreateInput("", 152, 168, 193, 21)
$Input2 = GUICtrlCreateInput("", 152, 224, 193, 21,$ES_PASSWORD)
#include <IE.au3>

GUISetState(@SW_SHOW)
$Button1 = GUICtrlCreateButton("Button1", 168, 304, 161, 41)
#EndRegion ### END Koda GUI section ###


While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                        Case $Button1
MsgBox(0,"",GUICtrlRead($Input2))


$sUrl = "https://login.taobao.com/member/login.jhtml?redirect_url="
$oIE = _IECreate($sUrl)
$oForm = _IEFormGetCollection ($oIE, 0)
$oQuery = _IEFormElementGetCollection ($oForm, 0)
_IEFormElementSetValue ($oQuery, GUICtrlRead($Input1))

$oQuery = _IEFormElementGetCollection ($oForm, 1)
_IEFormElementSetValue ($oQuery,GUICtrlRead($Input2) )

_IEFormSubmit($oForm)
        EndSwitch
WEnd

不过,我发现程序一旦运行后就死掉了,只能重开才能登陆下一个账号,不知道这个怎么解决?
发表于 2011-1-19 17:04:40 | 显示全部楼层
解决方法:

_IEFormSubmit($oForm)
改为:
_IEFormSubmit($oForm,0)
_IELoadWait($oIe)
 楼主| 发表于 2011-1-19 19:24:23 | 显示全部楼层
回复 11# smartzbs
谢谢你,已经解决了
发表于 2011-4-21 20:24:56 | 显示全部楼层
不错呦!!!!!!!!!!!!
发表于 2011-9-12 16:43:07 | 显示全部楼层
学习了,楼主说的那是windowscript脚本,在一定程度上也能自动运行
发表于 2011-10-2 05:46:10 | 显示全部楼层
解决方法:

_IEFormSubmit($oForm)
改为:
_IEFormSubmit($oForm,0)
_IELoadWait($oIe)
smartzbs 发表于 2011-1-19 17:04


不错,可以滴。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-16 22:51 , Processed in 0.085177 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表