我一直在尝试自动化浏览器登录。作为登录的一部分,我得到一个pre-auth弹出窗口(这不是浏览器弹出窗口,也不是本机窗口弹出窗口)。我必须允许pop来扫描我的电脑,以便我可以进入登录页面。但是,我无法将弹出窗口置于前台进行进一步处理。
到目前为止我尝试过的事情:
尝试使用selenium警报功能(通过此我知道它不是浏览器弹出窗口)。我还尝试获取所有浏览器窗口的打开句柄(使用函数window_handle(),我只获得一个用于主浏览器窗口的句柄)。
我尝试使用下面的代码找到系统上所有打开的窗口,我得到一个窗口句柄列表以及窗口标题,但我正在寻找的窗口没有窗口标题。< / p>
查找所有可见窗口的标题和hwnd的代码:
def get_all_windows():
"""Returns dict with window desc and hwnd,
don't ask me how it works!"""
def _MyCallback( hwnd, extra ):
"""Helper function for above??"""
hwnds, classes = extra
hwnds.append(hwnd)
classes[win32gui.GetWindowText(hwnd)] = hwnd
windows = []
classes = {}
win32gui.EnumWindows(_MyCallback, (windows, classes))
return classes
请给我评论我应该如何推进这项工作。我一直在周末试着这个没有运气。
答案 0 :(得分:-1)
通常,可以使用键盘事件处理身份验证弹出窗口。 在Java绑定中,您可以使用Java Robot类来模拟键盘事件。 在高级别,您的步骤将是这样的。
请参阅以下答案,以便在Python中执行键盘事件。