由于AutoItLibrary需要依賴pywin32庫(kù)。所以要使用AutoItLibrary必須要先安裝好pywin32
在南昌縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需規(guī)劃網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷推廣,外貿(mào)網(wǎng)站建設(shè),南昌縣網(wǎng)站建設(shè)費(fèi)用合理。
1、pywin32下載地址安裝:http://sourceforge.net/projects/pywin32/files/pywin32/
AutoItLibrary下載地址:http://code.google.com/p/robotframework-autoitlibrary/(注意:如果使用命令安裝導(dǎo)包不成功就直接下載并去到對(duì)應(yīng)setup.py目錄執(zhí)行python setup.py install進(jìn)行安裝 )
2、64位的機(jī)器:除了安裝上面2個(gè)之外,還不得不再安裝一個(gè)AutoItV3(最新的官網(wǎng)下載地址:http://www.autoitscript.com/site/autoit-news/autoit-v3-3-10-0-released/ ,如果以后有更新請(qǐng)從官網(wǎng)首頁(yè)自行下載)。一般情況下裝完這個(gè)就能用了。
?
今天需要在win7 64位系統(tǒng)下安裝autoitlibrary庫(kù),起初安裝好了robotframework框架,導(dǎo)入selenium2lib也沒(méi)有問(wèn)題,之后開(kāi)始安裝autoitlibrary庫(kù)。
從下載地址:http://download.csdn.net/detail/liuheng123456/6236097?中下載AutoItLibrary-1.1_x64的安裝壓縮包。
解壓壓縮包后,在dos命令下,進(jìn)入到解壓的AutoItLibrary目錄,如:把?AutoItLibrary-1.1_x64解壓到E盤下,就執(zhí)行cd E:\AutoItLibrary-1.1_x64。
執(zhí)行python setup.py install?安裝AutoItLibrary到python27的lib庫(kù)下面。
利用robotframework導(dǎo)入AutoItLibrary庫(kù),始終展現(xiàn)為錯(cuò)誤信息,無(wú)法正常導(dǎo)入。
上網(wǎng)查詢資料發(fā)現(xiàn),win7系統(tǒng)下仍舊需要安裝autoit程序,robotframework才能正常導(dǎo)入AutoItLibrary庫(kù)。
查找autoit下載地址:
https://www.autoitscript.com/site/autoit/downloads/
下載auto_it_3.3.12.exe最新版本安裝。
?
安裝完成后仍舊不能正常導(dǎo)入AutoItLibrary庫(kù),郁悶中,再次查找資料,發(fā)現(xiàn)需要重新注冊(cè)一下autoit的AutoItX3.dll文件才行。
利用cmd進(jìn)入AutoItX3.dll文件所在路徑,運(yùn)行系統(tǒng)注銷和系統(tǒng)注冊(cè)命令:
c:\Python27\Lib\site-packages\AutoItLibrary\lib>regsvr32 /u AutoItX3.dll
c:\Python27\Lib\site-packages\AutoItLibrary\lib>regsvr32 /s AutoItX3.dll
?
運(yùn)行成功后,重新利用robotframework導(dǎo)入AutoItLibrary庫(kù),成功導(dǎo)入。
在安裝 AutoItLibrary 用于Robot Framework 時(shí)遇到過(guò)幾個(gè)問(wèn)題,記錄一下解決方法。
前提:必須使用管理員權(quán)限運(yùn)行cmd。
一、報(bào)錯(cuò)信息
這其中有兩個(gè)錯(cuò)誤要解決:
第一個(gè)報(bào)錯(cuò)
Don't think we need to unregister the old one...
這是因?yàn)闄z測(cè)到:在python的目錄下已有該 lib
解決方法:
如我的目錄是D:\Program Files (x86)\Python27\Lib\site-packages\AutoItLibrary,那就需要把這個(gè)目錄下的文件清空。
第二個(gè)報(bào)錯(cuò)
Traceback (most recent call last):
File "setup.py", line 70, in
subprocess.check_call(cmd, shell=True)
File "D:\Program Files (x86)\Python27\lib\subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '%SYSTEMROOT%\system32\regsvr32.exe /S D:\Program Files (x86)
\Python27\Lib\site-packages\AutoItLibrary\lib\AutoItX3.dll' returned non-zero exit status 3
關(guān)于subprocess.check_call這個(gè)函數(shù)看了下這篇文章:
https://blog.csdn.net/liushuibufuqin/article/details/78892831
解決方法(忘了當(dāng)時(shí)在哪里查到的了,方法可行,但是未必科學(xué)):
1、到下載下來(lái)的AutoItLibrary-1.1文件夾下,打開(kāi)setup.py文件;
2、注釋掉第70行(行數(shù)可能有偏差)的subprocess.check_call(cmd, shell=True);
3、注釋掉第81行(行數(shù)可能有偏差)的subprocess.check_call(cmd)
二、終極原因
以上問(wèn)題解決后,AutoItLibray 總算安裝成功,但是卻又發(fā)現(xiàn)了更詭異的事情:
安裝的庫(kù)并不完整?。?!
在Robot Framework 中導(dǎo)入AutoItLibray 準(zhǔn)備使用了,卻發(fā)現(xiàn)使用 click button 之類的關(guān)鍵字不生效(顏色都沒(méi)標(biāo)識(shí))。于是,使用 F5 查看關(guān)鍵字,確實(shí)不完整,有 open 、close 之類的關(guān)鍵字,卻沒(méi)有 click 等等。
檢查了:
1、AutoItLibray 確實(shí)已導(dǎo)入成功,重新導(dǎo)了N次都還是原狀;
2、pywin32 與 python 版本確實(shí)是對(duì)應(yīng)的,當(dāng)時(shí)安裝,都選擇了32位,AutoIt 選擇的也是x86版本;
反復(fù)查找相關(guān)文檔,仍無(wú)果,所以只能決定重新安裝,而且選擇64位的python(電腦本就是64位,只是當(dāng)時(shí)怕 python 版本與 pywin32 不兼容才選擇安裝32位的 python)。另外,忘了在哪處看到安裝目錄不要有空格,聯(lián)想到當(dāng)時(shí) python 安裝在Program Files (x86)目錄下,可能也有這個(gè)原因,所以在重裝 python 時(shí)選擇了沒(méi)有空格的目錄。重裝后,以上兩個(gè)問(wèn)題好像并沒(méi)有再出現(xiàn)(不太記得了),AutoItLibray 也終于能正常使用。
所以以上發(fā)現(xiàn)的問(wèn)題很有可能都是 python 的安裝本就不正確而導(dǎo)致。因此,要一定注意 python 的版本與安裝目錄。
作者:CYTyeah
來(lái)源:CSDN
原文:https://blog.csdn.net/qq_35081227/article/details/81085404
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!在安裝 AutoItLibrary 用于Robot Framework 時(shí)遇到過(guò)幾個(gè)問(wèn)題,記錄一下解決方法。
前提:必須使用管理員權(quán)限運(yùn)行cmd。
一、報(bào)錯(cuò)信息
這其中有兩個(gè)錯(cuò)誤要解決:
第一個(gè)報(bào)錯(cuò)
Don't think we need to unregister the old one...
這是因?yàn)闄z測(cè)到:在python的目錄下已有該 lib
解決方法:
如我的目錄是D:\Program Files (x86)\Python27\Lib\site-packages\AutoItLibrary,那就需要把這個(gè)目錄下的文件清空。
第二個(gè)報(bào)錯(cuò)
Traceback (most recent call last):
File "setup.py", line 70, in
subprocess.check_call(cmd, shell=True)
File "D:\Program Files (x86)\Python27\lib\subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '%SYSTEMROOT%\system32\regsvr32.exe /S D:\Program Files (x86)
\Python27\Lib\site-packages\AutoItLibrary\lib\AutoItX3.dll' returned non-zero exit status 3
關(guān)于subprocess.check_call這個(gè)函數(shù)看了下這篇文章:
https://blog.csdn.net/liushuibufuqin/article/details/78892831
解決方法(忘了當(dāng)時(shí)在哪里查到的了,方法可行,但是未必科學(xué)):
1、到下載下來(lái)的AutoItLibrary-1.1文件夾下,打開(kāi)setup.py文件;
2、注釋掉第70行(行數(shù)可能有偏差)的subprocess.check_call(cmd, shell=True);
3、注釋掉第81行(行數(shù)可能有偏差)的subprocess.check_call(cmd)
二、終極原因
以上問(wèn)題解決后,AutoItLibray 總算安裝成功,但是卻又發(fā)現(xiàn)了更詭異的事情:
安裝的庫(kù)并不完整?。?!
在Robot Framework 中導(dǎo)入AutoItLibray 準(zhǔn)備使用了,卻發(fā)現(xiàn)使用 click button 之類的關(guān)鍵字不生效(顏色都沒(méi)標(biāo)識(shí))。于是,使用 F5 查看關(guān)鍵字,確實(shí)不完整,有 open 、close 之類的關(guān)鍵字,卻沒(méi)有 click 等等。
檢查了:
1、AutoItLibray 確實(shí)已導(dǎo)入成功,重新導(dǎo)了N次都還是原狀;
2、pywin32 與 python 版本確實(shí)是對(duì)應(yīng)的,當(dāng)時(shí)安裝,都選擇了32位,AutoIt 選擇的也是x86版本;
反復(fù)查找相關(guān)文檔,仍無(wú)果,所以只能決定重新安裝,而且選擇64位的python(電腦本就是64位,只是當(dāng)時(shí)怕 python 版本與 pywin32 不兼容才選擇安裝32位的 python)。另外,忘了在哪處看到安裝目錄不要有空格,聯(lián)想到當(dāng)時(shí) python 安裝在Program Files (x86)目錄下,可能也有這個(gè)原因,所以在重裝 python 時(shí)選擇了沒(méi)有空格的目錄。重裝后,以上兩個(gè)問(wèn)題好像并沒(méi)有再出現(xiàn)(不太記得了),AutoItLibray 也終于能正常使用。
所以以上發(fā)現(xiàn)的問(wèn)題很有可能都是 python 的安裝本就不正確而導(dǎo)致。因此,要一定注意 python 的版本與安裝目錄。
官網(wǎng)https://www.softpedia.com/get/Programming/Components-Libraries/AutoItLibrary.shtml