Login
登录窗口操作类,支持登录状态检测、二维码获取、代理设置等。
构造方法
python
Login(pid=None)- pid
int | None— 微信进程 PID,None 自动查找
属性
| 属性 | 类型 | 说明 |
|---|---|---|
state | str | 登录状态:"qrcode" / "confirm" / "logined" / "unknown" |
is_logined | bool | 是否已登录 |
nickname | str | None | 当前账号昵称(已扫码后可用) |
登录操作
enter(timeout=30)
点击"进入微信"按钮完成登录。
- timeout
int— 等待超时(秒) - 返回
bool— 是否成功
switch_account()
切换账号。
get_qrcode()
获取登录二维码图片。
- 返回
bytes— PNG 图片数据
transfer_only()
仅传输文件模式登录。
代理设置
open_proxy_settings()
打开代理设置面板。
close_proxy_settings()
关闭代理设置面板。
is_proxy_enabled()
代理是否启用。
- 返回
bool
enable_proxy() / disable_proxy()
启用 / 禁用代理。
set_proxy(host, port, username=None, password=None)
设置代理参数。
- host
str— 代理地址 - port
str— 代理端口 - username
str | None— 用户名 - password
str | None— 密码
get_proxy()
获取当前代理配置。
- 返回
dict—{"host", "port", "username", "password"}
save_proxy()
保存代理设置。
安全窗口
has_safe_window()
是否出现安全确认窗口。
- 返回
bool
safe_window_confirm()
确认安全窗口。
其他
close()
关闭登录窗口。
示例
python
from pywxauto import Weixin
# 自定义登录流程
def my_login(login):
print(f"登录状态: {login.state}")
if login.state == "qrcode":
qr = login.get_qrcode()
with open("qrcode.png", "wb") as f:
f.write(qr)
print("请扫描二维码")
login.enter(timeout=60)
wx = Weixin(on_login=my_login)