首页 > 解决方案 > 有没有办法获得 python 终端窗口的句柄?

问题描述

重叠的窗口

从 VBA 运行的 Python selenium 脚本会打开一个 chrome 窗口和一个终端窗口以接受用户输入,如图所示。

每当我运行脚本时,我都需要移动终端窗口以查看 chrome 窗口。

有没有办法获得终端窗口的句柄或改变窗口位置或大小的解决方法?

我使用以下代码来控制 chrome 窗口

handle = browser.window_handles  

好吧,正如我被问到的,这是来自 VBA 的代码

Dim objShell As Object
Dim pythonExe, pythonScript As String

    Set objShell = VBA.CreateObject("wscript.Shell")

    pythonExe = """C:\Program Files\python.exe"""
    pythonScript = "E:\python\run_this_code.py"

    objShell.Run pythonExe & pythonScript

End Sub

这将运行以下 python 代码。

import ggle

info = {
'id': '????',
'pw': '***',
}

browser, handle, info = ggle.login(info)

这运行 ggle.py

from selenium import webdriver

id = info['id']
pw = info['pw']

browser.get('https://some url') ---------------> launch a chrome browser

browser.find_element_by_id('edit-name').send_keys(id)
browser.find_element_by_id('edit-pass').send_keys(pw)

# Captcha code : focus
browser.find_element_by_id('edit-captcha-response').click()
input('Enter when done: ') --------------------> launch a terminal window

这会导致两个不同的窗口重叠,如下所示。 重叠的窗口

我认为没有办法改变第二个窗口(终端窗口)的位置/大小,除非我得到了 winodw 的句柄。

标签: pythonpositionsize

解决方案


推荐阅读