找回密码
 加入
搜索
查看: 7181|回复: 20

[IE类操作] 网页弹出的小登录窗口中的表单如何填写?[已解决]

  [复制链接]
发表于 2016-10-4 12:35:55 | 显示全部楼层 |阅读模式
本帖最后由 cashiba 于 2016-10-17 22:46 编辑

不少网页的登录,点击登录时,会弹出一个小登录窗口,类似于下图:


用 Au3Info.exe 无法定位也无法获取到该弹出窗口的信息

请问如何能将登录信息填写到该弹出窗口的表单中?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2016-10-4 20:23:08 | 显示全部楼层
本帖最后由 cashiba 于 2016-10-4 20:24 编辑

同样的问题,如何捕获下面这个点击发帖按钮 弹出的小窗口(标题:发新话题)?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-10-5 13:33:15 | 显示全部楼层
模拟登陆用网页快捕试试
 楼主| 发表于 2016-10-5 22:45:48 | 显示全部楼层
回复 3# ila
谢谢指点....
我问的重点不是怎么填写表单,而是有什么方法能捕获弹出窗口,以便能把焦点定位到弹出窗口里....
发现AU3对弹出窗口也是无能为力似的,Au3Info.exe对网页弹出窗口以及第三方程序弹出窗口好像没反应....
 楼主| 发表于 2016-10-5 22:48:46 | 显示全部楼层
目前采取的办法是复制链接地址,然后开新窗口打开,再填表单。
如果直接点击链接,则弹出小窗口,但是取不到小窗口信息,无法保证焦点能定位到小窗口上....
发表于 2016-10-5 23:33:36 | 显示全部楼层
login有指定网址,
网址后加上登陆后要跳转到的网址,
直接模拟登陆。

登录也可以用post
 楼主| 发表于 2016-10-6 18:42:12 | 显示全部楼层
login有指定网址,
网址后加上登陆后要跳转到的网址,
直接模拟登陆。
登录也可以用post
ila 发表于 2016-10-5 23:33

是的,就填写登录表单来说,多种方法都可以做到,尤其是风大侠的网页快捕,更是一大利器。但就是这个弹窗的定位和聚焦问题,不管是浏览器弹窗,还是软件内部弹窗(Popup),一直没有突破。坛子里搜索了一下,这类问题好像基本上都是不了了之。就这么着吧.....
感谢ila老师关注.!
发表于 2016-10-6 22:39:09 | 显示全部楼层
回复 7# cashiba

#AccAu3Wrapper_UseX64=n                                                                                ;是否编译为64位程序(y/n)
#NoTrayIcon
#include<IE.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 859, 548, 192, 114)
$oie = _IECreateEmbedded()
GUICtrlCreateObj($oIE, 0, 0, 857, 545)
GUISetState(@SW_SHOW)
_IENavigate($oie ,"http://www.autoitx.com")
_IELinkClickByText($oie ,"登录")
Do
        $user = _IEGetObjByName($oie ,"username")
        $pass = _IEGetObjByName($oie ,"password")
        $submitbtn = _IEGetObjByName($oie ,"loginsubmit")
Until IsObj($user)
$user.value = "testname"
$pass.value = "testpass"
$submitbtn.click

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd
发表于 2016-10-7 00:30:15 | 显示全部楼层
本帖最后由 ila 于 2016-10-7 00:35 编辑

翻下记录,
acn的登录地址是:
http://autoitx.com/logging.php?action=login

而discuz论坛的login都是:http://xxxxxx.com/logging.php?action=login

用上面的地址登录再跳转也一样的效果。

跳转如下,next后面
http://192.168.3.149/login/?next=%2Fqsbk%2F
发表于 2016-10-7 01:46:40 | 显示全部楼层
这种东西不那搞,建议用POST方法,秒杀一切,哈哈!
发表于 2016-10-7 08:05:30 | 显示全部楼层
为啥要焦点定位    你用的什么方法?
 楼主| 发表于 2016-10-7 20:46:00 | 显示全部楼层
今天是什么好日子呢?
可算热闹了
平时发个帖都没人搭理
今天一下子来几个人答帖
鸡冻哇.....
 楼主| 发表于 2016-10-7 20:46:19 | 显示全部楼层
为啥要焦点定位    你用的什么方法?
1361739590 发表于 2016-10-7 08:05
平时发现不少弹出窗口,比喻一些程序的提示信息弹窗,或一些网页弹窗,用Au3Info.exe无法获取这些弹窗的信息.....那么有什么工具或其它方法得到这些弹窗的信息呢?
比喻说,如下图,就以这个发帖的小弹窗为例,Au3Info.exe探测器探头拖到这个弹窗界面上毫无反应,显示的始终是下面的浏览器大窗口的信息.....按说窗口作为对象都有句柄或一些标识来管理吧,为啥就捕获不到呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2016-10-7 20:49:21 | 显示全部楼层
回复  cashiba
cxlater 发表于 2016-10-6 22:39

这段代码挺好用的,开弹窗登录,耳目一新阿......
不过出现下边这些提示信息不算是错误提示吧?
Vector smash protection is enabled.
--> IE.au3 T3.0-2 警告 from function _IEGetObjByName, $_IESTATUS_NoMatch (名称: username, 索引: 0)
--> IE.au3 T3.0-2 警告 from function _IEGetObjByName, $_IESTATUS_NoMatch (名称: password, 索引: 0)
--> IE.au3 T3.0-2 警告 from function _IEGetObjByName, $_IESTATUS_NoMatch (名称: loginsubmit, 索引: 0)
 楼主| 发表于 2016-10-7 20:56:44 | 显示全部楼层
翻下记录,
acn的登录地址是:
而discuz论坛的login都是:
用上面的地址登录再跳转也一样的效果。 ...
ila 发表于 2016-10-7 00:30

是的,只要得到实际登录页面的表单源码,自动登录都好办...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-25 14:10 , Processed in 0.085232 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表