hz453673181 发表于 2012-3-19 16:18:11

自建函数传参数的问题

#include<Excel.au3>
#include<IE.au3>
Send("!{SPACE}+x")
testLogin("http://203.119.82.88:8402","he1","abc123")

Func testLogin($url,$username,$password)
        $ie=_IECreate($url,0,1,1,0)
        $loginForm = _IEFormGetObjByName ($ie, "loginFrm");获取登陆表单
        $userName = _IEFormElementGetObjByName ($loginForm, "loginid");获取用户名input
        $passWord = _IEFormElementGetObjByName ($loginForm, "password");获取密码Input
        _IEFormElementSetValue ($userName, $username);输入用户名
        _IEFormElementSetValue ($passWord, $password);输入密码
        _IEFormSubmit ($loginForm,0);提交表单
        Sleep(1000)
EndFunc



这个函数有3个参数,为什么用户名这个参数传进去之后就成了,求解

afan 发表于 2012-3-19 16:30:46

函数内 $userName 被重新赋值了,没发现吗?

user3000 发表于 2012-3-19 16:34:09

是够粗心的...连有错误也没仔细找..

hz453673181 发表于 2012-3-19 16:36:26

$username是个参数啊,在调用函数的时候传的是 he1 啊,哪里被重新赋值了,不明白

hz453673181 发表于 2012-3-19 16:36:44

回复 2# afan


    $username是个参数啊,在调用函数的时候传的是 he1 啊,哪里被重新赋值了,不明白

afan 发表于 2012-3-19 16:37:26

回复 5# hz453673181


    粗心至极。

shqf 发表于 2012-3-19 20:01:08

唉,难道对"$username=XXXXXX" 这种形式是赋值也不知道吗?

haijie1223 发表于 2012-3-20 15:07:39

版主都提示你了,怎么还不好好看下。
   $userName = _IEFormElementGetObjByName ($loginForm, "loginid");获取用户名input
这一句不是把$username重新赋值了么?

peterju 发表于 2012-4-7 08:51:14

autoit 對於變量是不分大小寫的,樓主對於傳入的 $username 與 函數內使用的變量 $userName 已經刻意有所不同,但這是不夠的,請修改函數內的 $userName 與 $passWord 變量名稱即可

502762378 发表于 2012-4-7 10:47:58

楼主真懒。
页: [1]
查看完整版本: 自建函数传参数的问题