本文整理汇总了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)