找回密码
 加入
搜索
查看: 6027|回复: 12

如何自动点击确定键

  [复制链接]
发表于 2009-11-17 22:50:02 | 显示全部楼层 |阅读模式
如何自动点击确定键
尝试: MouseClick ( "按钮" [, x, y [, 点击次数 [, 速度 ]]] )
但目标坐标值 x/y如何确定?谁能给我举个例子,说明这个函数怎么用,谢谢
 楼主| 发表于 2009-11-17 22:55:03 | 显示全部楼层
顶下
发表于 2009-11-18 17:13:21 | 显示全部楼层
MouseClick ( "按钮" [, x, y [, 点击次数 [, 速度 ]]] )指的是这个窗口的相对坐标
 楼主| 发表于 2009-11-18 18:00:24 | 显示全部楼层
MouseClick ( "按钮" [, x, y [, 点击次数 [, 速度 ]]] )指的是这个窗口的相对坐标
ebhb 发表于 2009-11-18 17:13



    如何确定窗口的相对坐标?
发表于 2009-11-18 20:27:49 | 显示全部楼层
轻轻的按一下F1,看看帮助就行了:我帮你按了
WinGetPos
--------------------------------------------------------------------------------

获取指定窗口的坐标位置和大小等属性。


WinGetPos ( "窗口标题" [, "窗口文本"] )




参数

窗口标题 目标窗口标题。
窗口文本 [可选参数] 目标窗口文本。



返回值

成功: 返回一个含有下列信息的数组:
$array[0] = X 坐标
$array[1] = Y 坐标
$array[2] = 宽度
$array[3] = 高度,
失败: 返回值为1,并把 @error 设为 1,说明未找到目标窗口。
发表于 2009-11-18 20:28:51 | 显示全部楼层
这个就是窗在桌面上的绝对坐标,里面的控件是相对于这个坐标而言的。
 楼主| 发表于 2009-11-18 22:27:17 | 显示全部楼层
谢谢楼上 还有个问题  如何自动进入带证书确认的https网页下载文件

一个带证书的https网页,写了代码
#include <IE.au3>
$sUrl ="https://emaw.arbeitsagentur.de/"
$oIE = _IECreate($sUrl, 0, 1, 0, 1)
Sleep(2000)
MouseClick("left", 750, 579, 2)
目的是打开这个网页,现在打开了,然后希望下最新的zip文件,尝试: 在打开的这个网页上做个镜象之类的东西,目的是能进行下载,因为不能直接后台进入这https网址去下载,所以我的思路是先打开这个网页,然后在当前页面上进行下载。不知道我的想法合理么。请高手指教,谢谢
发表于 2009-11-18 22:49:15 | 显示全部楼层
不后台操作的话用发送键盘命令,和鼠标点击,没什么问题的
 楼主| 发表于 2009-11-18 22:55:27 | 显示全部楼层
回复 8# ebhb


    能具体说一下么,我的思路对么? 用做个镜象之类的么? 如何在当前页面上下载阿?
发表于 2009-11-18 23:00:57 | 显示全部楼层
因为你的是https的网站,我这没法打开,所以也没法帮你做出来,操作网页三般有三种方法,第一种就是模拟鼠标键盘操作,第二种就是用ie.au3这个库文件来操作,还有一种是用post直接发送数据,第一种最方便做,但不能做成后台,做的时候其实就是打开网站,用鼠标,或键盘在屏幕上相对位置点击。

评分

参与人数 1金钱 +100 贡献 +20 收起 理由
kn007 + 100 + 20 感谢你对论坛的支持,希望以后继续发扬这种 ...

查看全部评分

发表于 2009-11-18 23:01:38 | 显示全部楼层
在做的时候最好不用鼠标,用键盘操作
 楼主| 发表于 2009-11-18 23:04:43 | 显示全部楼层
回复 10# ebhb


我明白你的意思,但是我写的这个下载文件的代码
$dir=FileExists("C:\Dokumente und Einstellungen\Li\Desktop");
If $dir=0 Then
  DirCreate("d:\downloads")
EndIf

$dir=FileExists("C:\Dokumente und Einstellungen\Li\Desktop\emaw-adonnerpartner.pdf");
If $dir=0 Then ;
        $file1=("https://emaw.arbeitsagentur.de/emaw-adonnerpartner-20080204-230434.zip");
        $file2=("C:\Dokumente und Einstellungen\Li\Desktop\emaw-adonnerpartner-20080204-230434.zip");
        down() ;
Else
        MsgBox(4096,"","schon da",1)
EndIf

Func down() 
$Size=InetGetSize($file1)  ;Größe von der Datein
InetGet($file1,$file2,1,1) ;Downloading
ProgressOn("Process", "downloading ..."& StringRight($file1,20),"0 %")
While @InetGetActive
        $i=round(@InetGetBytesRead / $Size * 100)
   ProgressSet( $i, $i & " %")
   TrayTip("Downloding", "Downlodet = " & @InetGetBytesRead, 10, 16)
  Sleep(250)
Wend
ProgressSet(100 , "finish", "over")
sleep(500)
ProgressOff()
;MsgBox(0, "finish, Größe:", @InetGetBytesRead ,"KB")

EndFunc
里面要连接这个网站,可是连接不上去,因为要先点证书确认键才能登陆,这个工作我在前面的一个code里面已经写好,我在想,如何把这俩个code联系起来。。。
发表于 2009-11-19 09:17:15 | 显示全部楼层
$file2=("C:\Dokumente und Einstellungen\Li\Desktop\emaw-adonnerpartner-20080204-230434.zip");变量好象不用加括号吧,写习惯了C语言吧。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 11:33 , Processed in 0.079417 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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