資源描述:
《Python 操作IE的彈出窗口》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Python操作IE的彈出窗口最近和朋友在群里討論Selenium中,源碼中Pyhon關(guān)閉IE的彈出窗口失效,后來小編給了個建議是先把焦點(diǎn)設(shè)置給一個隱藏的層,然后發(fā)送回車的方法去實(shí)現(xiàn)它。感覺頗為無奈,同時也發(fā)現(xiàn)在PAM30中也是沒有實(shí)現(xiàn)處理彈出窗口的問題,為此今天在PAM30的基礎(chǔ)上新增了下面幾個方法:getmsgbox、getmsgboxtext、getmsgboxtitle、closemsgbox、clickmsgboxbutton等等。主要關(guān)鍵點(diǎn)在于getmsgbox方法的實(shí)現(xiàn)。defgetmsgbox(self,filter=None):"""Getthespecified?Pop
2、up?messagebox???????????parameters:??????????????????[filter]??-Onlyreturnelementsthatmatchthisfilterinformat??????????????????????(title=MicrosoftInternetExplorer;text=Areyousuretoclosethewindow;index:=0)??????????????????????Thefiltervaluetomatch.?RegularExpressions??????????????????????canbeuse
3、dbystartingthevalwithan!?"title=!Google;text=!baidu"??????????????????????#(Addbyluchenzhi@March30,2010)???????????returns:???????????????apopupmessageboxhwnd???????"""???????MsgboxHwnd=0???????MatchTime?=0???????MatchIndex=0???????try:???????????foriinrange(0,100):???????????????MsgboxHwnd=win32g
4、ui.FindWindowEx(0,MsgboxHwnd,"#32770",None)???????????????ifMsgboxHwnd==0:???????????????????break???????????????ifwin32gui.GetParent(MsgboxHwnd)==self._ie.Hwnd:???????????????????iffilter:???????????????????????valText=None???????????????????????filters=filter.split(";")?????????????????????????m
5、atch=False???????????????????????forfinfilters[:]:??????????????????????????????????atts=f.split("=")???????????????????????????ifatts[0].lower()=="title":???????????????????????????????valText=win32gui.GetWindowText(MsgboxHwnd)???????????????????????????ifatts[0].lower()=="text":?????????????????
6、??????????????FirstStaticHwnd=win32gui.FindWindowEx(MsgboxHwnd,0,"Static",None)???????????????????????????????ifwin32gui.GetWindowText(FirstStaticHwnd):???????????????????????????????????valText=win32gui.GetWindowText(FirstStaticHwnd)???????????????????????????????else:????????????????????????????
7、???????valText=win32gui.GetWindowText(win32gui.FindWindowEx(MsgboxHwnd,FirstStaticHwnd,"Static",None))???????????????????????????ifatts[0].lower()=="index":???????????????????????????????MatchIndex=int(atts[1])??