sex123 发表于 2012-9-20 18:09:47

请问如何自动打开浏览器,并且自动下载PDF文件

http://www.sciencedirect.com/science/article/pii/B9780122841514500002
网址是上面这个,左上角有一个PDF(xxx),我想下载这个PDF文件,但是不是网页下面的PDF文件大小不一定,所以()里面的数字会变化,我想问怎么能自动下载这个PDF文件,我写成了PDF却下载不了,写成了PDF (125 K)是可以下载的,但是这个125K是变化的.想问一问是不是需要正则表达式了.
另外一个问题是,自动点击这个PDF文件以后,一闪而过了,对话框认为是取消按扭,如何改写保存按扭呢?

whitehead 发表于 2012-9-20 18:56:39

用正则表达式可以写成PDF\s*(\d*\sK)
模拟点击保存按扭是可一的,自己在本站找吧

sex123 发表于 2012-9-20 20:57:51

#include<IE.au3>
$oIE=_IECreate("http://www.sciencedirect.com/science/article/pii/S0006291X01953197")
$pdf=StringRegExp("PDF\s*(\d*\sK)");把字符串中的前2个数字替换成中字
_IELinkClickByText($oIE,$PDF)
还是不好用,我不知道哪里出错了

sex123 发表于 2012-9-21 10:10:40

可能是没有读取和保存网页的原因吧,我改了改代码,但是还是不好用呢.
#include <IE.au3>
$oIE = _IECreate("http://www.sciencedirect.com/science/article/pii/B9780122841514500002")
$sHTML = _IEDocReadHTML ($oIE)
FileWriteLine("c:/123.txt",$sHTML)

$pdf=StringRegExp("PDF\s*(\d*\sK)",1)
_IELinkClickByText($oIE,$PDF)
Sleep(5000)

sex123 发表于 2012-9-21 10:32:01

#include <IE.au3>



$url1="http://www.sciencedirect.com/science/article/pii/B9780122841514500002"
$oIE = _IECreate("http://www.sciencedirect.com/science/article/pii/B9780122841514500002")
$sHTML = _IEDocReadHTML ($oIE)
FileWriteLine("c:/123.txt",$sHTML)

;$pdf=StringRegExp("PDF\s*(\d*\sK)")
$var1 = FileRead("c:\test.txt",40000 )
;$html1 = _send($url1)
$pattern = "PDF\s*(\d*\sK)"
;$html = StringReplace($html, @CRLF, '')

;$html=123.txt
$pdf = StringRegExp($var1, $pattern, 1)

_IELinkClickByText($oIE,$PDF)
Sleep(5000)

还是不好用.郁闷了.
页: [1]
查看完整版本: 请问如何自动打开浏览器,并且自动下载PDF文件