带有弹出窗口的pywinauto

2024-05-13 01:54:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pywinauto,虽然不是一个优秀的开发人员,但我可以用python编写一些基础知识。不过我挂断了。我有一个弹出窗口,导致我无法按下ok,真的不知道我需要看什么方向

这是一个由两部分组成的问题:

  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}')

enter image description here


Tags: 文件applocalhosttypeokspacekeystab
1条回答
网友
1楼 · 发布于 2024-05-13 01:54:36
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')

这应该有效:)

相关问题 更多 >