Search found 47 matches

by youwantme
28 May 2015, 22:22
Forum: 请求帮助
Topic: 【已解决】求助 一个 正则表达式
Replies: 13
Views: 6594

Re: 【已解决】求助 一个 正则表达式

谢谢!搞定 :)
tmplinshi wrote:RegExMatch(str, "<h""1>(.*?)</h1>", m)
或者
RegExMatch(str, "<h\x221>(.*?)</h1>", m)
by youwantme
28 May 2015, 21:35
Forum: 请求帮助
Topic: 【已解决】求助 一个 正则表达式
Replies: 13
Views: 6594

Re: 求助 一个 正则表达式

tmplinshi兄:还想再求教一下,如果第一个标签中包含有双引号,该怎么处理?比如之前那个例子,第一个标签是 <h1>,如果这个标签是 <h"1>呢(必须包含双引号,即第一个标签是<h"1>,而不是1>),请问该怎样匹配? 用 MsgBox, % Match1 1 。后面跟数字 1,2,3...n 表示子匹配项。 另外,最好用 .* ? 。 .* ? 是匹配第一个出现的字符,而 .* 是匹配最后出现的字符。示例代码: str := "<h1>正则表达式就是牛</h1><h1>测试</h1></div>" RegExMatch(str, "<h1>(.*)</h1>", m) ; .*</h1...
by youwantme
28 May 2015, 05:35
Forum: 请求帮助
Topic: 对网页源代码进行正则匹配,为何有的成功,有的不成功?
Replies: 2
Views: 1143

Re: 对网页源代码进行正则匹配,为何有的成功,有的不成功?

多谢指导!
tmplinshi wrote:加上 "i)<title>(.*?)</title>" 忽略大小写。因为 wb.document.DocumentElement.outerHTML 里面的内容是大写的 <TITLE>搜狐-中国最大的门户网站</TITLE>
另外,PageCode 赋值那一句的百分号是多余的,写成 PageCode := wb.document.DocumentElement.outerHTML 就好了。
by youwantme
28 May 2015, 04:03
Forum: 请求帮助
Topic: 对网页源代码进行正则匹配,为何有的成功,有的不成功?
Replies: 2
Views: 1143

对网页源代码进行正则匹配,为何有的成功,有的不成功?

目标:都是匹配 <title> 与 </title>两个标签之间的内容 代码一:对百度主页进行匹配,成功 网页源代码包含:<title>百度一下,你就知道 </title> Gui, Margin, 0, 0 Gui Add, ActiveX, x0 y0 w1024 h500 xm vWB, Shell.Explorer Gui, Show WB.Silent := True ; 这一句可以避免一些网页弹出脚本错误 WB.Navigate("www.baidu.com") ;浏览网页 While WB.readystate != 4 or WB.busy Sleep 200 PageCode...
by youwantme
28 May 2015, 02:30
Forum: 请求帮助
Topic: 【已解决】Gui加载IE,如何处理弹出式网页?
Replies: 8
Views: 6510

Re: Gui加载IE,如何处理弹出式网页?

啊。。。原来是这个原因。

我还以为自己用的是最新的呢,不久前才更新到 1.1.15 的

看来要赶着更新才行,呵呵
tmplinshi wrote:好吧,看来我以后回复还是得尽量啰嗦一点。。cancel[] := true 需要 AHK 版本 v1.1.17 以上。
话说,你们都不用最新版的啊。。我看到有新版,都会去看看更新了什么内容,并立即下载更新的。
by youwantme
28 May 2015, 02:28
Forum: 请求帮助
Topic: 【已解决】求助 一个 正则表达式
Replies: 13
Views: 6594

Re: 求助 一个 正则表达式

兄太牛了,真心好用,哈哈。谢啦! 用 MsgBox, % Match1 1 。后面跟数字 1,2,3...n 表示子匹配项。 另外,最好用 .* ? 。 .* ? 是匹配第一个出现的字符,而 .* 是匹配最后出现的字符。示例代码: str := "<h1>正则表达式就是牛</h1><h1>测试</h1></div>" RegExMatch(str, "<h1>(.*)</h1>", m) ; .*</h1> 会匹配到最后一个 </h1> MsgBox, % m1 ; 结果 --> 正则表达式就是牛</h1><h1>测试 RegExMatch(str, "<h1>(.*?)</h1>", m) ...
by youwantme
28 May 2015, 00:30
Forum: 请求帮助
Topic: 【已解决】Gui加载IE,如何处理弹出式网页?
Replies: 8
Views: 6510

Re: Gui加载IE,如何处理弹出式网页?

这个问题我已经在其他网站找到了解决办法,亲测通过,转述如下: cancel := true 是错误的写法,true在com里是-1,cancel是short不是int,所以应该是: NumPut(-1, ComObjValue(Cancel), "short") 完整的可用代码为: Gui, Margin, 0, 0 Gui Add, ActiveX, w800 h500 vWB, Shell.Explorer Gui, Show ComObjConnect(WB, WB_events) WB.Silent := True ; 这一句可以避免一些网页弹出脚本错误 WB.Navigate("ht...
by youwantme
27 May 2015, 21:10
Forum: 请求帮助
Topic: 【已解决】求助 一个 正则表达式
Replies: 13
Views: 6594

【已解决】求助 一个 正则表达式

需要处理的文本:<h1>正则表达式就是牛</h1></div> 目的:取得中间的中文内容,即“正则表达式就是牛”几个字,实际上就是要获取“<h1>”和“</h1>”这两个标记之间的内容 参考了本站“正则表达式快速入门”的帖子,依样画葫芦写了以下代码: Haystack := "<h1>正则表达式就是牛</h1></div>" FoundPos1 := RegExMatch(Haystack, "<h1>(.*)</h1>", Match1, 1) MsgBox, % Match1 结果:获取到的文本为:     <h1>正则表达式就是牛</h1> 求教大神:有没有办法不要两头的标签,直接获取“...
by youwantme
27 May 2015, 20:11
Forum: 请求帮助
Topic: 【已解决】Gui加载IE,如何处理弹出式网页?
Replies: 8
Views: 6510

Re: Gui加载IE,如何处理弹出式网页?

运行代码时,提醒这一句出错: cancel[] := true ; 取消弹出新窗口 提示信息为:Error: 0x8002000E - 无效的参数数目 运行结果是:弹出网页在原wb控件打开了,但是网页也弹出来了,也就是取消弹出新窗口没生效。 能否麻烦兄台帮忙看一下是什么原因?谢啦! Gui, Margin, 0, 0 Gui Add, ActiveX, w800 h500 vWB, Shell.Explorer Gui, Show ComObjConnect(WB, WB_events) WB.Silent := True ; 这一句可以避免一些网页弹出脚本错误 WB.Navigate("ht...
by youwantme
27 May 2015, 19:17
Forum: 请求帮助
Topic: 【已解决】Gui加载IE,如何处理弹出式网页?
Replies: 8
Views: 6510

Re: Gui加载IE,如何处理弹出式网页?

非常感谢!顺带把我关于如何屏蔽网页脚本错误的疑问也一并解决了。 Gui, Margin, 0, 0 Gui Add, ActiveX, w800 h500 vWB, Shell.Explorer Gui, Show ComObjConnect(WB, WB_events) WB.Silent := True ; 这一句可以避免一些网页弹出脚本错误 WB.Navigate("http://internet.baidu.com/") Return class WB_events { NewWindow3(ppDisp, Cancel, dwFlags, bstrUrlContext, bstrUr...
by youwantme
27 May 2015, 19:16
Forum: 请求帮助
Topic: 【已解决】通过Gui加载ActiveX加载IE访问网站,如何掌控网页信息?
Replies: 5
Views: 2017

Re: 通过Gui加载ActiveX加载IE访问网站,如何掌控网页信息?

太感谢了!
tmplinshi wrote:因为这些并不是 AHK 知识,所以文档里面不会有。搜索 HTML DOM 可以看到很多相关资料。

获得当前页面的URL地址用 wb.LocationURL
by youwantme
27 May 2015, 04:31
Forum: 请求帮助
Topic: 【已解决】通过Gui加载ActiveX加载IE访问网站,如何掌控网页信息?
Replies: 5
Views: 2017

Re: 通过Gui加载ActiveX加http://ahkscript.org/boards/viewforum.php?f=26载IE访问网站,如何掌控网页信息?

还想再请教 tmplinshi 兄,如果要获得当前页面的URL地址该怎么写呢? 另外,像兄举得例子中那些代码,AHK的官方文档中貌似都没有。请问可以去那里看到完整的网页控制语句文档呢? 比如这些:wb.document.DocumentElement.outerHTML wb.document.title 谢谢! 其实“ 网页自动化初级教程 ”确实基本都有你这些问题的答案。 Gui, Add, ActiveX, vwb w800 h500, Shell.Explorer Gui, Show,, % gui_title wb.Silent := True wb.Navigate("http://...
by youwantme
27 May 2015, 04:21
Forum: 请求帮助
Topic: 【已解决】Gui加载IE,如何处理弹出式网页?
Replies: 8
Views: 6510

【已解决】Gui加载IE,如何处理弹出式网页?

比如:

Code: Select all


Gui, Margin, 0, 0
Gui Add, ActiveX, w800 h500 vWB, Shell.Explorer
Gui, Show
WB.Navigate("http://internet.baidu.com/")


点击百度新闻里面的新闻链接,就会另外弹出一个网页,但这个网页已经不在那个 Gui 范围内了。。。。

我想继续在Gui中浏览下一级网页,请问该如何处理?

感谢!
by youwantme
27 May 2015, 03:24
Forum: 请求帮助
Topic: 【已解决】通过Gui加载ActiveX加载IE访问网站,如何掌控网页信息?
Replies: 5
Views: 2017

Re: 通过Gui加载ActiveX加http://ahkscript.org/boards/viewforum.php?f=26载IE访问网站,如何掌控网页信息?

太感谢了!我赶紧试试 :) 其实“ 网页自动化初级教程 ”确实基本都有你这些问题的答案。 Gui, Add, ActiveX, vwb w800 h500, Shell.Explorer Gui, Show,, % gui_title wb.Silent := True wb.Navigate("http://baidu.com") ; 判断网页加载状态,等待 ReadyState=4 While WB.readystate != 4 or WB.busy Sleep 200 ; 整个网页的代码 MsgBox, % wb.document.DocumentElement.outerHTML ;...
by youwantme
27 May 2015, 02:09
Forum: 请求帮助
Topic: 【已解决】通过Gui加载ActiveX加载IE访问网站,如何掌控网页信息?
Replies: 5
Views: 2017

【已解决】通过Gui加载ActiveX加载IE访问网站,如何掌控网页信息?

此前我发过一个类似的帖子 tmplinshi兄给我推荐了下面的帖子     网页自动化初级教程     viewtopic.php?f=29&t=4311 我也研读过了,但还是没有找到我想要的答案。 其实我想知道的是,利用AHK通过Gui加载ActiveX IE 访问网页时,如何能实时获取以下资讯:   1、所访问网页的 Title,即网页标题   2、获得所访问网页的网页代码(这个之前有人提过,可以先把网页下载到本地然后读取其内容,算是解决了)   3、如何获取网页的加载状态,比如 VB.Net中的 ReadyState 有1,2,3,4,当 ReadyState=4 时表示 Documen...
by youwantme
27 May 2015, 01:41
Forum: 请求帮助
Topic: 【已解决】一段关于进度的代码求助
Replies: 2
Views: 1230

Re: 一段关于进度的代码求助

原来如此,哈哈。

感谢指点迷津!
tmplinshi wrote:赋值表达式是 :=。你代码中用的 .= 表示附加到之前的内容。
例如:

Code: Select all

总数 := 2
总数 .= 3 ; 结果为 23。这一句等同于下面 3 种写法:

总数 = %总数%3
总数 := 总数 3
总数 := 总数 . 3 ; 句点是连接符号,大部分时候可以省略。不过当连接较多字符的时候,有句点的代码可读性会好一点。
by youwantme
26 May 2015, 08:56
Forum: 请求帮助
Topic: 【已解决】一段关于进度的代码求助
Replies: 2
Views: 1230

【已解决】一段关于进度的代码求助

代码如下:

Code: Select all

!T::
总数.=3

loop,3
	{
		msgbox %A_Index%
		msgbox %总数%
		进度.=A_Index/总数
		msgbox %进度%
	}
Return

不知为什么,msgbox %进度% 弹出的对话框,第一次结果是 0.3333,第二次是 0.33330.6667,第三次是 0.33330.66671.0000

求大神指教,为什么会出现这样的情况?进度这个变量不是每次计算都会刷新吗,怎么会像字符串一样叠串起来?

谢谢!!!
by youwantme
14 May 2015, 03:26
Forum: 请求帮助
Topic: 如何对 Active 控件中的 网页 进行操作?
Replies: 2
Views: 1228

Re: 如何对 Active 控件中的 网页 进行操作?

感谢指路!我先研习研习,谢谢。
tmplinshi wrote:网页自动化初级教程
http://ahkscript.org/boards/viewtopic.php?f=29&t=4311
by youwantme
13 May 2015, 22:13
Forum: 请求帮助
Topic: 如何对 Active 控件中的 网页 进行操作?
Replies: 2
Views: 1228

如何对 Active 控件中的 网页 进行操作?

如获取访问中的网页地址,获取网页标题,源代码等。

谢谢
by youwantme
13 May 2015, 04:14
Forum: 请求帮助
Topic: 如何计算两个时间的时间差?
Replies: 1
Views: 1018

如何计算两个时间的时间差?

比如

开会时间=15:00:00

FormatTime, 当前时间, %A_Now%, HH:mm:ss

如何计算还有多长时间要开会?把时间差赋给 “时间差”变量

谢谢

Go to advanced search