Board logo

标题: [网络连接] 批处理怎样判断网页延迟? [打印本页]

作者: jiulong    时间: 2011-7-2 19:40     标题: 批处理怎样判断网页延迟?

本帖最后由 jiulong 于 2011-7-3 21:35 编辑

已知
  1. errorlevel
复制代码
可以获取网络连接的错误或正确返回码
但我要的效果是,某网页打得开,只是时间太长的话是不允许的,所以我的目的在一定时间内访页面没刷新就跳转到另一个页面
例:
  1. start c:\progra~1\iexplo~1\iexplore.exe www.sina.com.cn
复制代码
如果“新浪”页面超过5秒没刷新出来就跳转到
“百度”

该怎么判断页面在5秒内有没有刷新出来呢?


2楼的脚本,在14行有错误还不说,严重的是判断5秒没刷新完就打开别的页面这条错了,你这个脚本是不管有没有刷新完,就算刷新完了都会直接把第一个打开的页面关掉然后再打开第二个页面!
作者: ArdentMan    时间: 2011-7-2 21:13

本帖最后由 ArdentMan 于 2011-7-2 21:21 编辑
  1. Dim Web, Arr, Str, Ok
  2. Web = "www.sina.com,www.baidu.com,www.sohu.com"
  3. Arr = Split(Web, ",")
  4. For Each Str In Arr
  5.   If Ok = vbNullString Then GetWeb Str
  6. Next
  7. Sub GetWeb(Url)
  8.   Dim IE
  9.   Set IE = CreateObject("InternetExplorer.Application")
  10.   IE.Navigate "http://" & Url
  11.   IE.Visible = True
  12.   WScript.Sleep 5000
  13.   If IE.ReadyState <> 4 Then
  14.     IE.Quit
  15.     Set IE = Nothing
  16.     Else
  17.     Ok = "ok"
  18.   End If
  19. End Sub
复制代码

作者: Demon    时间: 2011-7-2 21:28

VBS什么时候变成批处理了
作者: batman    时间: 2011-7-2 21:51

vbs本来就可以用批生成,能解决问题就好,万法归宗哈
作者: Demon    时间: 2011-7-2 22:37

vbs本来就可以用批生成,能解决问题就好,万法归宗哈
batman 发表于 2011-7-2 21:51

exe也可以用批处理生成,照这样说的话批处理什么问题不能解决
作者: batman    时间: 2011-7-2 22:38

5# Demon
兄弟何必如此较真呢,能解决问题才是关键,你以为呢?
作者: Demon    时间: 2011-7-2 22:46

5# Demon
兄弟何必如此较真呢,能解决问题才是关键,你以为呢?
batman 发表于 2011-7-2 22:38

我以为别人问的是“判断网页延迟批处理”。
作者: batman    时间: 2011-7-2 22:49

纯批也可以做到,就是麻烦点,要把这些网页的窗口标题都找出来,然后用tasklist来检索。。。
作者: Demon    时间: 2011-7-2 22:57

纯批也可以做到,就是麻烦点,要把这些网页的窗口标题都找出来,然后用tasklist来检索。。。
batman 发表于 2011-7-2 22:49

“纯批”怎么把这些网页的窗口标题都找出来?
作者: batman    时间: 2011-7-2 22:58

9# Demon
先手工到网页源码上找。。。
作者: Demon    时间: 2011-7-2 23:04

9# Demon
先手工到网页源码上找。。。
batman 发表于 2011-7-2 22:58

。。。。。。
作者: CrLf    时间: 2011-7-2 23:07

如果不考虑特殊情况,纯批应该也可以找到TITLE吧
作者: batman    时间: 2011-7-2 23:12

12# zm900612
纯批如何提取网页的窗口标题。。。
作者: sky02    时间: 2011-7-2 23:58

可以通过计算网页源码行数或者查找指定字符串来判断网页是否完全打开
作者: CrLf    时间: 2011-7-3 01:43

我是说在html文件上操作应该可行(只要文件内容中有标题这个东东),不考虑下载。而且页面展开前,浏览器的标题也不一样吧?
作者: q115643492    时间: 2011-7-3 11:28

本帖最后由 q115643492 于 2011-7-3 11:30 编辑

测试了,还行`
作者: CUer    时间: 2011-7-3 11:39

9# Demon


你不会就认为不能?
作者: Demon    时间: 2011-7-3 12:03

9# Demon


你不会就认为不能?
CUer 发表于 2011-7-3 11:39

你会?
作者: CUer    时间: 2011-7-3 12:17

18# Demon


我倒是有两个方法
也许12楼也会呢
不知道他的方法是不是跟我的相同
作者: telnet    时间: 2011-7-3 14:17

对我来说很有创意,看了就是不怎么会
作者: CrLf    时间: 2011-7-3 16:21

本帖最后由 zm900612 于 2011-7-3 16:23 编辑

19# CUer


我也不知道是不是真的可行,但是有几个大致的方案:
  1. 1、不断用 tasklist "windowtitle eq 网址*" 判断标题的变动(ie中默认设置为,网页展开前以网址作为标题),这个肯定是纯批的,但是应该比较不通用,而且效率实在是...
  2. 2、从 htm 文件中解析出标题名称,这个比较快速和准确,前提是获取到相应的 htm ,至于是到临时文件夹找还是用别的方法,就另说了
  3. 3、用 ping 获取对应网址的ip,比如 ping /n 1 [url]www.baidu.com[/url] 得知百度 ip 为 61.135.169.105 ,然后再 netstat /a |findstr 61.135.169.105 看看是否与此ip存在连接,若不存在,页面当然还没有展开了,前提是关闭一切可能导致误判的软件和页面,或者先 netstat 一次用于后面排查,当然最致命的是效率啊效率...
复制代码
just 思路,不确定是否真的高效可行




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2