【问题标题】:PyWinAuto select File -> Open from Tableau DesktopPyWinAuto 选择文件 -> 从 Tableau Desktop 打开
【发布时间】:2021-02-18 21:21:47
【问题描述】:

我正在尝试自动化我们现有流程中的几个步骤。我需要与 tableau 交互 2 个步骤,我只想按下这些按钮。

我遵循 pywinauto 文档提供的记事本示例,但是当我尝试选择子菜单选项时,它一直失败。

dlg.menu_select('File') 有效

dlg.menu_select('File -> Open') 不起作用

dlg.menu_select('File -> Open...') 不起作用

TimeoutError: 超时

# Using .Server because .File gives me pdf info. Still a menu item.
dlg.Server.print_control_identifiers()

控制标识符:

静态 - “到服务器”(L165、T685、R403、B711) ['到服务器静态','静态','到服务器'] child_window(title="To a Server", control_type="Text")

【问题讨论】:

    标签: python-3.x pywinauto


    【解决方案1】:

    我也找不到文件菜单项,所以我最终使用了控制字符。

    import time
    from pywinauto.application import Application
    from pywinauto.keyboard import send_keys
    from pywinauto.controls.menuwrapper import Menu, MenuItemInfo
    from pywinauto import mouse
    
    import win32api
    
    send_keys('^o') # open file
    
    send_keys('C:\\Users\\xxx\\Pareto.twbx', with_spaces = True)  # absolute file name
    
    send_keys('{VK_RETURN}')  # accept file
    
    updatedata = dlg.TableauPareto.child_window(title="Data Alt+D", control_type="MenuItem").wrapper_object()
    updatedata.click_input() # open menu
    
    x, y = win32api.GetCursorPos()  # find cursor position
    mouse.click(button='left', coords=(x+ 30, y+85)) # click on refresh data
    
    send_keys('{VK_RETURN}') # refresh data
    
    time.sleep(10) # wait for refresh
    
    send_keys('{VK_RETURN}') # end
    send_keys('^s')  # save file
    
    app.kill(soft=False) # quit
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-11
      • 2017-01-05
      • 2019-02-27
      相关资源
      最近更新 更多