找回密码
 加入
搜索
查看: 7804|回复: 13

[IE类操作] 【未解决】如何在打开的网页中执行javascript

  [复制链接]
发表于 2010-10-23 05:19:30 | 显示全部楼层 |阅读模式
本帖最后由 viplight 于 2011-1-11 00:54 编辑

我使用autoit打开了一个网页,然而在里面有个javascript执行的HTM文件,我不知道怎么打开它(在当前页面转到)
具体的是javascript:gotoTarget("需要执行的.htm")
我在论坛找了下说是用_IENavigate可以打开但是我加上了没得反映的
还有是我打开的网页中,javascript:gotoTarget("需要执行的.htm")是使用在框架集中的(具体框架‘Frame’是什么意思我也不晓得我是在百度查找的)



可能我说的不是很清楚,不过我的表达能力有限,大家尽量帮帮我吧





$oie=_IECreate("www.bai ...
shano 发表于 2010-10-23 10:20 [/quote]

我的代码是 _IENavigate($oie,'javascript:gotoTarget(nmnlog_event.htm)')  不知道怎么的转不过来

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-10-23 10:20:33 | 显示全部楼层
_IENavigate  肯定可以  可能是你语法写错了   不贴代码 神都帮不了你

例子

$oie=_IECreate("www.baidu.com",0,1,1)
_IENavigate($oie,'javascript:alert(document.lastModified)') ; 通过JS获取网页最后修改时间
发表于 2010-10-23 15:22:15 | 显示全部楼层
问题描述得不是很清楚,如果只是执行JS我想这段代码应该能解决
$oIE.document.parentWindow.execscript("displaymessage()")
发表于 2010-10-23 20:06:06 | 显示全部楼层
javascript:gotoTarget(nmnlog_event.htm)末尾加个分号试试
javascript:gotoTarget(nmnlog_event.htm);
发表于 2010-10-23 20:09:20 | 显示全部楼层
=.= 传递字符串不加引号...该打

"javascript:gotoTarget('nmnlog_event.htm');"
发表于 2010-10-23 23:28:16 | 显示全部楼层
这个里面是否存在这样的问题,我说大家参考一下

HTML中的frame框架简单来说就是一个HTML文件里面还放了子HTML。我暂且认为楼主的网页是左右框架式的,那么就假设有三个页面
main.html(主页面)
left.html(左框架)
right.html(右框架)
然后JS中的gotoTarget()函数是属于left.html的
如果使用AU3中的_IENavigate()函数调用JS函数(相当于在地址栏中执行JS程序),那么就是调用main.html的JS函数,但实际上gotoTarget()函数是left.html中定义的。所以这个JS函数调用会出错。。。

我的解决方法是:
楼主的JS代码gotoTarget(xxx)用途是让右框架跳转到指定的页面,那么能否让AU3在_IECreate时参数就写为这个右框架的跳转后地址?

这个右框架的地址可以这样获取。楼主先把“事件日志”点击一下,然后在右框架中右键-属性。里面就有地址。

发现这个问题涉及到AU3 HTML JS 灰常有价值。。。于是回答一下。。。
 楼主| 发表于 2010-10-24 01:22:32 | 显示全部楼层
回复 6# 风中狂猫


    非常抱歉的回答您,不能点击右键也。。。  不过非常谢谢你的回答,你让我明白了什么是FRAME
但是问题依旧没有解决呢。。
 楼主| 发表于 2010-10-24 01:25:45 | 显示全部楼层
回复 5# rolaka


    呵呵是该打,不过问题还是一样的,我看了看

HTML中的frame框架简单来说就是一个HTML文件里面还放了子 ...
风中狂猫 发表于 2010-10-23 23:28 [/quote]


    的他说的也是,我到是明白了点点 现在问题还是迷茫中的 。。。。。
发表于 2010-10-24 08:54:11 | 显示全部楼层
尝试用firefox打开这个网页,在里面右键-本帧-查看帧信息
实在不行用抓包工具看浏览器get了哪个页面。。。
发表于 2010-10-24 09:08:11 | 显示全部楼层
主框架调用子框架里的函数的话 那只要
window.frames[id].gotoTarget('nmnlog_event.htm');
就可以了
 楼主| 发表于 2010-10-24 14:06:38 | 显示全部楼层
回复 9# 风中狂猫


    获取地址不是难事!
 楼主| 发表于 2010-10-24 14:07:10 | 显示全部楼层
回复 10# rolaka


    恩回头我试试,
发表于 2010-10-30 09:10:23 | 显示全部楼层
v支持一下我吧
发表于 2010-10-30 09:10:28 | 显示全部楼层
支持一下我吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 10:31 , Processed in 0.126334 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表