python - 有没有办法获得 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 的句柄。
解决方案
推荐阅读
- scala - Spark 与 Scala:通过在每个可能对上执行函数来计算表
- laravel - Laravel Sanctum 在不创建新令牌的情况下检索 PlainTextToken
- javascript - 是否可以在没有网络访问和服务器的情况下在本地使用反应?
- python - 将集合列表转换为字典
- python - 计算没有 sklearn 的机器学习模型的准确率
- c - 在 C 链表中从高到低对数字进行排序
- html - 显示超出下拉 div 的图像
- c# - 使用取消按钮时的 ASP.NET MVC 路由
- javascript - 如何提交 React 表单
- python - 如何在不使用 try/except 的情况下避免 KeyError?