很久没上来更新了,最近其实还蛮有收获。完成两个脚本
一个是即时通讯软件自动聊天。打开qq,msn等IM的聊天窗口后,定时自动发送聊天信息。主要使用到pywinauto。这方面的中文资料比较少,都是notepad的例子。最开始用的方式比较笨,需要配置聊天窗口的标题;后面发现飞信群的聊天窗口根本就没有标题信息,于是去看自带的英文文档,终于摸索到枚举窗口句柄的方法,不再需要配置窗口标题,易用性大大地提高,成就感大大地有。另外还尝试了QQ的自动登录,可以输入号码,但密码框怎么也输不了,用了最笨的键盘输入[TAB]也不行,最终放弃。
另一个是网站自动登录,包含网易邮箱,百度贴吧等。使用的是selenium。逻辑比较简单,但有许多需要特别处理的地方。比如cookie,如果网站已经记住密码登录后,则再次打开网站会找不到输入框。这种情况IE会出现,firefox和chrome倒是不会。虽然selenium提供了删除cookie的函数,但并不起作用。这就需要特殊处理,比如163邮箱可以直接输入url让其退出,而其他网站则需要去点击退出按钮,而有些退出按钮并不在界面上,而是鼠标指向账号名称后才会出现,直接点击可能点击不到。另外,网速比较慢的情况下,可能会出现异常等等,需要去做异常捕获。简单的输入账号密码操作,在种种特殊情况处理下,代码也变得老长。
另外之前写的模拟上网行为的脚本也在最近派上用场所,陆续修改了几个bug。