【发布时间】:2021-12-24 02:03:17
【问题描述】:
我正在尝试自动化一些 Windows 任务,我得到了所有打开的窗口的数据框,然后我添加了一些列以便在继续自动化之前进行一些验证。
然后我想循环遍历数据框中WebBrowser 列中的所有数据,以便设置焦点并将此窗口激活到前面,然后调整大小。
但是当我尝试以下命令时出现错误app.set_focus():AttributeError: 'list' object has no attribute 'set_focus'。
注意:我还不知道如何调整大小,我在前一步停下来,但如果有人能给我提示,我将不胜感激。
我的代码:
from pywinauto import Desktop
import pandas as pd
windows = Desktop(backend="uia").windows()
window = [w.window_text() for w in windows]
# Create a dataframe in order to store the windows needed
df_windows = pd.DataFrame(window, columns =['WebBrowser'])
# Filter dataframe only to show all windows from Brave web browser
df_windows = df_windows.loc[df_windows['WebBrowser'].str.contains("Brave:", case=False)]
# Add column profile from Brave
df_windows['Profile'] = df_windows['WebBrowser'].str.split(':').str[1].str.strip()
# Add column window open from Brave
df_windows['Window'] = df_windows['WebBrowser'].str.split(':').str[0].str.strip()
# Add column about the website open from Brave
df_windows['Website'] = df_windows['Window'].str.replace(" - Brave", "").str.strip()
# Filter dataframe only to show all bombcrypto game window
df_windows = df_windows.loc[df_windows['Website'] == 'GuilhermeMatheus']
print(df_windows)
for x in df_windows['WebBrowser']:
print(x)
app = Desktop(backend="uia").windows(title=x)
app.set_focus()
# resize window after
【问题讨论】: