hbnet 发表于 2008-9-7 18:57:53

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

公司有一个报数网站,需要把数据从记事本每行剪切后,粘贴到报数网站的一个提交窗口,然后点击提交,然后再点返回,然后再重复上面的过程。用autoit如何实现?记事本类似如下:
111
222
333
444
。。。
需要把这些数据提交到报数网站。

pcbar 发表于 2008-9-7 20:23:00

用filereadline一行一行的读

pcbar 发表于 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

如果一定要从记事本窗口获取数据,可以这样

hbnet 发表于 2008-9-7 21:34:31

非常感谢pcbar,脚本可以直接读取文本文档了,但如何传递到IE的网站窗口,比如:
从D盘读取jsb.txt,把记事本读取的第一条记录传递到GOOGLE的搜索窗口,进行搜索,然后返回,然后读取记事本的第二条,再传递到GOOGLE的搜索窗口,进行搜索,再返回,这样一直往后做。

[ 本帖最后由 hbnet 于 2008-9-7 22:01 编辑 ]

sanhen 发表于 2008-9-8 00:28:01

帮助有相关的例子。将PCBAR的脚本改一下。即可。

hbnet 发表于 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

powerofos 发表于 2008-9-9 10:28:15

感谢,又上一课~

hbnet 发表于 2008-9-9 12:11:56

所所思这样通过网址直接提交更简单一些,有的网站提交的时候是POST形式,要看网页的源代码,我想用鼠标先定位到要输入的窗口,然后直接把变量取过来输入到该窗口,然后鼠标定位到提交,执行双击,这样好像简单一些。请问如何把变量取过来并且自动输入到该窗口,用那个函数?按键精灵用 SayExpression就可以。

所所思 发表于 2008-9-9 12:50:36

原帖由 hbnet 于 2008-9-9 12:11 发表 http://www.autoitx.com/images/common/back.gif
所所思这样通过网址直接提交更简单一些,有的网站提交的时候是POST形式,要看网页的源代码,我想用鼠标先定位到要输入的窗口,然后直接把变量取过来输入到该窗口,然后鼠标定位到提交,执行双击,这样好像简单一些。 ...

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

[ 本帖最后由 所所思 于 2008-9-9 12:51 编辑 ]

hbnet 发表于 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 发表 http://www.autoitx.com/images/common/back.gif
用SEND函数很容易搞定。

呵呵 一直没看用户名 不知道6楼的就是你
ps:你是不是ccf的 netfree
页: [1]
查看完整版本: 如何从记事本逐行不断剪切,然后把数据粘贴到网站的提交窗口提交