1.僅有一個button的圖檔上傳,使用choosefile無法搞定的情況下,需要引入AutoItLibrary,具體實作如下栗子:
Library AutoItLibrary
click element id=f_contractIdCardFrontPicker
AutoIt id=f_contractIdCardFrontPicker C:\\Users\\XX\\Pictures\\2612129497.jpg
click element id=f_contractIdCardBackPicker
AutoIt id=f_contractIdCardBackPicker C:\\Users\\XX\\Pictures\\2612129497.jpg
#自己定義的關鍵字
AutoIt
[Arguments] ${locator} ${file}
sleep 2
win wait 打開
win activate 打開
control set text \ \ Edit1 C:\\Users\\XX\\Pictures\\2612129497.jpg
sleep 2
control click \ \ Button1
2.下拉菜單、下拉選項、月曆控件等處理,直接使用兩個click element;
click element id= _easyui_textbox_input7 #打開月曆插件
sleep
click element XPATH=//a[@datebox-button-index="0"] #選中當天月曆
3.JavaScript中元素無法定位,注意使用document.getElementById、document.getElementByTag、document.getElementByClassName,主要是這三個,使用好了基本無事。
Execute Javascript document.getElementById('btnAddPayment').click()
還有這種情況,注意getElementsByClassName是數組形式:
execute Javascript document.getElementsByClassName('l-btn l-btn-small l-btn-focus')[].childNodes[].click()
4.frame處理,使用 select frame/unselect frame,一般情況下都是成對出現的,隻有在frame中引入另一個frame的情況。
click element XPATH=//span[text()='面試資訊錄入']
select frame Xpath=//*[@id="invitationDialog"]/iframe
click element id=_easyui_textbox_input7
click element XPATH=/html/body/div[2]/div/div[3]/table/tbody/tr/td[1]/a
click element XPATH=//span[text()='補錄商家']
sleep
select frame Xpath=//iframe[@id="assignWorkerDialog_assignWorkerIframe"]
click element XPATH=//*[@id="datagrid-row-r1-2-0"]
click element XPATH=//*[@id="save"]/span/span[]
unselect frame
select frame Xpath=//*[@id="invitationDialog"]/iframe
click element XPATH=//*[@id="craete_invitation_saveBtn"]/span/span[]
sleep
unselect frame
5.XPATH的幾種情況,需要熟練選擇使用;
click element XPATH=//*[@name="query"]/span/span[]
click element XPATH=//div[text()='請确認商家']
click element XPATH=//span[contains(text(),"确認")]
click element XPATH=/html/body/div[2]/div/div[3]/table/tbody/tr/td[1]/a
input text XPATH=//textarea[@id='_easyui_textbox_input14'] XXX
除了以上一些,其實還有很多,随自己習慣吧,應該不存在找不到元素的情況,隻有自己沒想到,不夠仔細的。
5.隐藏元素,隐藏屬性處理,很多使用都是伴随着JavaScript出現的,是以有JavaScript出沒,請小心仔細;
5.1隻有聚焦focus才會出現的屬性
No Focus時:
document.getElementsByClassName('l-btn l-btn-small')[].childNodes[].click()
Focus時:
execute Javascript document.getElementsByClassName('l-btn l-btn-small l-btn-focus')[].childNodes[].click()
當然,你可以先使用focus處理下:
5.2 懸浮菜單,懸停元素處理
遇到這種情況,直接上JavaScript吧
Execute Javascript document.getElementById('btnAddPayment').click()
sleep
click element XPATH=//*[@id="addPaymentMenu"]/div[]/div[]