找回密码
 加入
搜索
查看: 5762|回复: 11

如何从记事本逐行不断剪切,然后把数据粘贴到网站的提交窗口提交

  [复制链接]
发表于 2008-9-7 18:57:53 | 显示全部楼层 |阅读模式
公司有一个报数网站,需要把数据从记事本每行剪切后,粘贴到报数网站的一个提交窗口,然后点击提交,然后再点返回,然后再重复上面的过程。用autoit如何实现?记事本类似如下:
111
222
333
444
。。。
需要把这些数据提交到报数网站。
发表于 2008-9-7 20:23:00 | 显示全部楼层
用filereadline一行一行的读
发表于 2008-9-7 20:42:42 | 显示全部楼层
#include <GuiEdit.au3>
Run("notepad.exe")
WinWaitActive("无标题 - 记事本")
$hwnd=ControlGetHandle("无标题 - 记事本","","Edit1")
;以下三行添加随机数据
For $i=0 to 10
_GUICtrlEdit_AppendText($hwnd, Random(0,10000,1)&@CRLF)
Next

for $j=0 to _GUICtrlEdit_GetLineCount($hWnd)-1
MsgBox(0,"测试",_GUICtrlEdit_GetLine($hWnd,$j))
Next

如果一定要从记事本窗口获取数据,可以这样
 楼主| 发表于 2008-9-7 21:34:31 | 显示全部楼层
非常感谢pcbar,脚本可以直接读取文本文档了,但如何传递到IE的网站窗口,比如:
从D盘读取jsb.txt,把记事本读取的第一条记录传递到GOOGLE的搜索窗口,进行搜索,然后返回,然后读取记事本的第二条,再传递到GOOGLE的搜索窗口,进行搜索,再返回,这样一直往后做。

[ 本帖最后由 hbnet 于 2008-9-7 22:01 编辑 ]
发表于 2008-9-8 00:28:01 | 显示全部楼层
帮助有相关的例子。将PCBAR的脚本改一下。即可。
 楼主| 发表于 2008-9-8 23:38:54 | 显示全部楼层
如果只是复制,粘贴的话可以这样,刚刚接触AUTOIT,觉得挺有意思的。
#include <IE.au3>
$file = FileOpen("test.txt", 0)

; Check if file opened for reading OK
If $file = -1 Then
        MsgBox(0, "错误", "不能打开文件.")
        Exit
EndIf

; Read in lines of text until the EOF is reached
$oIE = _IECreate ("http://www.google.com")
While 1
        $line = FileReadLine($file)
        If @error = -1 Then ExitLoop

$oForm = _IEFormGetObjByName ($oIE, "f")
$oQuery = _IEFormElementGetObjByName ($oForm, "q")
_IEFormElementSetValue ($oQuery, $line)
_IEFormSubmit ($oForm)
Send("{BROWSER_BACK}")
Wend
发表于 2008-9-9 09:27:27 | 显示全部楼层
#include <IE.au3>
$file = FileOpen("test.txt", 0)
if $file = -1 then 
 MsgBox(0, "错误", "找不到test.txt")
 Exit
EndIf
While 1
$body = FileReadLine($file)
if @error = -1 Then ExitLoop
$oie = _IECreate("http://www.google.cn/search?hl=zh-CN&q="&$body&"&meta=&aq=f&oq=")
WEnd
发表于 2008-9-9 10:28:15 | 显示全部楼层
感谢,又上一课~
 楼主| 发表于 2008-9-9 12:11:56 | 显示全部楼层
所所思这样通过网址直接提交更简单一些,有的网站提交的时候是POST形式,要看网页的源代码,我想用鼠标先定位到要输入的窗口,然后直接把变量取过来输入到该窗口,然后鼠标定位到提交,执行双击,这样好像简单一些。请问如何把变量取过来并且自动输入到该窗口,用那个函数?按键精灵用 SayExpression就可以。
发表于 2008-9-9 12:50:36 | 显示全部楼层
原帖由 hbnet 于 2008-9-9 12:11 发表
所所思这样通过网址直接提交更简单一些,有的网站提交的时候是POST形式,要看网页的源代码,我想用鼠标先定位到要输入的窗口,然后直接把变量取过来输入到该窗口,然后鼠标定位到提交,执行双击,这样好像简单一些。 ...


6楼同学的代码 就是把变量取过来 通过post提交

[ 本帖最后由 所所思 于 2008-9-9 12:51 编辑 ]
 楼主| 发表于 2008-9-9 18:28:52 | 显示全部楼层
用SEND函数很容易搞定。

[ 本帖最后由 hbnet 于 2008-9-9 18:49 编辑 ]
发表于 2008-9-9 21:38:40 | 显示全部楼层
原帖由 hbnet 于 2008-9-9 18:28 发表
用SEND函数很容易搞定。


呵呵 一直没看用户名 不知道6楼的就是你
ps:你是不是ccf的 netfree
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-22 13:16 , Processed in 0.086036 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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