当前位置: 首页>>代码示例>>Python>>正文


Python Dispatch.opt方法代码示例

本文整理汇总了Python中win32com.client.Dispatch.opt方法的典型用法代码示例。如果您正苦于以下问题:Python Dispatch.opt方法的具体用法?Python Dispatch.opt怎么用?Python Dispatch.opt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在win32com.client.Dispatch的用法示例。


在下文中一共展示了Dispatch.opt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: AutoIt

# 需要导入模块: from win32com.client import Dispatch [as 别名]
# 或者: from win32com.client.Dispatch import opt [as 别名]
class AutoIt(Thread):
    ''' used for Windows native actions, requires AutoItX3 control registered in C:\Windows\system32 '''    
    def __init__(self, method, args={}):
        from win32com.client import Dispatch
        Thread.__init__(self)
        self.file_choosers = { "firefox" :'upload', "googlechrome": "Open", "iexplore": 'Upload', 'safari': "fuckifiknow"}
        self.autoit = Dispatch("AutoItX3.Control")
        self.autoit.Opt("WinTitleMatchMode", 2) # match any
        self.method = method
        self.args = args
        self.timeout = args.get('timeout', 10)
        self.autoit.opt("trayicondebug", 1)
        
    def get_file_chooser(self, browser="firefox"):
        if browser.find("firefox") >= 0:
            return self.file_choosers['firefox']
        elif browser.find("google") >= 0:
            return self.file_choosers['google']
        elif browser.find("*ie") >= 0 :
            return self.file_choosers['iexplore']
        elif browser.find("iexplore") >= 0 :
            return self.file_choosers['iexplore']
        elif browser.find("safari") >= 0:
            return self.file_choosers['safari']
        elif browser.find("*chrome") >= 0: # chrome but not googlechrome
            return self.file_choosers['firefox']
        else:
            return ''
               
    def run(self):        
        try:
            log.info('autoit thread starting')
            if self.method == "chooser":
                self.run_chooser(self.args)
            elif self.method == "file_download":
                self.run_file_download(self.args)
            log.info('autoit thread ending')
        except Exception as inst:
            log.error(inst)
            
    def run_file_download(self, args={}):
        self.autoit.WinWait("File Download", "", self.timeout)
        self.autoit.WinActivate("File Download")
        time.sleep(1)
        self.autoit.ControlClick("File Download", "", "[CLASS:Button; INSTANCE:2]")
    
    def run_chooser(self, args={}):
        try:
            browser = args.get('browser', 'iexplore')
            filename = args.get('filename', '')
            coordinates = args.get('coordinates', None)
            log.info("%s, %s" % (browser, filename))
            if filename == '':
                return
            else:
                chooser_name = self.get_file_chooser(browser)
                log.info('chooser_name = %s' % chooser_name)     
                if coordinates != None:
                    self.autoit.MouseClick("left", coordinates[0], coordinates[1])           
                self.autoit.WinWait(chooser_name, "", self.timeout)
                self.autoit.WinActivate(chooser_name)
                log.info('autoit waited')
                time.sleep(1)
                self.autoit.ControlSetText(chooser_name, "", "Edit1", filename)
                self.autoit.ControlSend(chooser_name, "", "Button2", "{ENTER}")
                log.info('autoit sent')
        except Exception as inst:
            log.error(inst)
开发者ID:tlichtenberg,项目名称:py-selenium-layers,代码行数:70,代码来源:weblib.py


注:本文中的win32com.client.Dispatch.opt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。