【问题标题】:pywinauto with a popup window带有弹出窗口的pywinauto
【发布时间】:2021-02-07 20:35:43
【问题描述】:

我正在使用 pywinauto,不是一个优秀的开发人员,但我可以用 python 编写一些基础知识。不过我挂了。我有一个弹出窗口,导致我无法按确定,并且真的不确定我需要看哪个方向

真的是一个两部分的问题:

  1. 如果出现此弹出窗口,我如何才能转到此弹出窗口,但情况并非总是如此,因为有时这些文件可能不存在。
  • 我尝试使用 app.Confirm.Ok.click() 和 app.Confirm.type('{ENTER}') 均无效。
  1. 如何添加可以从外部 .txt 文件调用的变量,例如我在代码中包含的“localhost”?

代码在这里:

from pywinauto import application
import time
app = application.Application()
app.start("Install.exe")
app.SelectLanguage.Ok.click()
app.Platform.Iacceptthetermsinthelicenseagreement.click()
app.Platform.Next.click()
app.Platform.Next.click()
app.PlatformInstallationOptions.Next.click()
app.PlatformSpecifyCertifcate.comboBox.select(0)
app.PlatformSpecifyCertifcate.Next.click()
app.PlatformConfigurationDatabaseOptions.type_keys('{TAB}')
app.PlatformConfigurationDatabaseOptions.type_keys('{TAB}')
app.PlatformConfigurationDatabaseOptions.type_keys('localhost')
app.PlatformConfigurationDatabaseOptions.type_keys('{TAB}')
app.PlatformConfigurationDatabaseOptions.type_keys('{SPACE}')
app.PlatformConfigurationDatabaseOptions.type_keys('{TAB}')
app.PlatformConfigurationDatabaseOptions.type_keys('Config')
app.PlatformConfigurationDatabaseOptions.Next.click()
app.PlatformSpecifyHTTPSBindingCertifcate.type_keys('{TAB}')
app.PlatformSpecifyHTTPSBindingCertifcate.type_keys('{TAB}')
app.PlatformSpecifyHTTPSBindingCertifcate.type_keys('{RIGHT}')
app.PlatformSpecifyHTTPSBindingCertifcate.type_keys('{SPACE}')
app.PlatformSpecifyHTTPSBindingCertifcate.Next.click() 
app.PlatformAdvancedWorkflowSettings.Next.click() 
app.PlatformPlatformLanguage.Next.click()
app.PlatformInstanceDatabaseOptions.type_keys('{TAB}')
app.PlatformInstanceDatabaseOptions.type_keys('{TAB}')
app.PlatformInstanceDatabaseOptions.type_keys('localhost')
app.PlatformInstanceDatabaseOptions.type_keys('{TAB}')
app.PlatformInstanceDatabaseOptions.type_keys('{SPACE}')
app.PlatformInstanceDatabaseOptions.type_keys('{TAB}')
app.PlatformInstanceDatabaseOptions.type_keys('Instance')
app.PlatformInstanceDatabaseOptions.Next.click()
app.PlatformTimeZone.Next.click()
app.WebApplicationOptions.type_keys('{TAB}')
app.WebApplicationOptions.type_keys('{TAB}')
app.WebApplicationOptions.type_keys('{TAB}')
app.WebApplicationOptions.type_keys('{TAB}')
app.WebApplicationOptions.type_keys('{UP}')
app.WebApplicationOptions.Next.click()

app.WebApplicationOptions.type_keys('{ENTER}')

【问题讨论】:

    标签: python pywinauto


    【解决方案1】:
    confirmWin = .app.window(title_re = u'Confirm') #Check your window header object name.
    # Use timeout based on average pop up time in your application.
    if confirmWin.exists(timeout=10, retry_interval=1): 
        confirmWin.set_focus()
        yesBtn = confirmWin[u'&Yes'] 
        # Check the object name of the Yes button. You can use Swapy tool(It is deprecated but it works, else you can use inspect.exe)
        yesBtn.click()
    else:
        print('Confirmation pop up did not appear')
    

    这应该可行:)

    【讨论】:

      猜你喜欢
      • 2021-10-23
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-09
      • 2012-11-24
      • 1970-01-01
      相关资源
      最近更新 更多