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

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: arcticir, tmplinshi

youwantme
Posts: 47
Joined: 11 May 2015, 21:27

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

27 May 2015, 02:09

此前我发过一个类似的帖子

tmplinshi兄给我推荐了下面的帖子

    网页自动化初级教程
    viewtopic.php?f=29&t=4311

我也研读过了,但还是没有找到我想要的答案。

其实我想知道的是,利用AHK通过Gui加载ActiveX IE 访问网页时,如何能实时获取以下资讯:
  1、所访问网页的 Title,即网页标题
  2、获得所访问网页的网页代码(这个之前有人提过,可以先把网页下载到本地然后读取其内容,算是解决了)
  3、如何获取网页的加载状态,比如 VB.Net中的 ReadyState 有1,2,3,4,当 ReadyState=4 时表示 DocumentComplete,然后就可以触发事件。

总结起来就是:我能否在DocumentComplete时,触发我的相关代码,让它获取网页标题、内容、代码,以及其他操作?

求高手指点,万分感谢
Last edited by youwantme on 28 May 2015, 02:32, edited 2 times in total.
tmplinshi
Posts: 1557
Joined: 01 Oct 2013, 14:57

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

27 May 2015, 02:41

其实“网页自动化初级教程”确实基本都有你这些问题的答案。

Code: Select all

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

; 标题
MsgBox, % wb.document.title ; 或者 wb.document.all.tags("title").0.InnerHtml
Return

GuiClose:
ExitApp
youwantme
Posts: 47
Joined: 11 May 2015, 21:27

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

27 May 2015, 03:24

太感谢了!我赶紧试试 :)
tmplinshi wrote:其实“网页自动化初级教程”确实基本都有你这些问题的答案。

Code: Select all

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

; 标题
MsgBox, % wb.document.title ; 或者 wb.document.all.tags("title").0.InnerHtml
Return

GuiClose:
ExitApp
youwantme
Posts: 47
Joined: 11 May 2015, 21:27

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

27 May 2015, 04:31

还想再请教 tmplinshi 兄,如果要获得当前页面的URL地址该怎么写呢?

另外,像兄举得例子中那些代码,AHK的官方文档中貌似都没有。请问可以去那里看到完整的网页控制语句文档呢?

比如这些:wb.document.DocumentElement.outerHTML
wb.document.title

谢谢!

tmplinshi wrote:其实“网页自动化初级教程”确实基本都有你这些问题的答案。

Code: Select all

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

; 标题
MsgBox, % wb.document.title ; 或者 wb.document.all.tags("title").0.InnerHtml
Return

GuiClose:
ExitApp
tmplinshi
Posts: 1557
Joined: 01 Oct 2013, 14:57

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

27 May 2015, 08:23

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

获得当前页面的URL地址用 wb.LocationURL
youwantme
Posts: 47
Joined: 11 May 2015, 21:27

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

27 May 2015, 19:16

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

获得当前页面的URL地址用 wb.LocationURL

Return to “请求帮助”

Who is online

Users browsing this forum: Google [Bot] and 3 guests