找回密码
 加入
搜索
查看: 3011|回复: 11

[AU3基础] InternetExplorer.Application的对象变量的问题!【已解决】

[复制链接]
发表于 2021-2-24 16:23:10 | 显示全部楼层 |阅读模式
本帖最后由 ttmv2019sx 于 2021-2-26 14:56 编辑

各位,高手,请问一下,如果是第一页网页是,是可以用_IECreate  来建立得到InternetExplorer.Application的对象变量的问题!  然后可以填入表单内容,确定继续下去,但是到了第二页,想在第二页中再一次操作网页的填表单与点按钮,此时各元素都可以得到,但是无法进行相关的操作,第一页的InternetExplorer.Application的对象变量与第二页 的InternetExplorer.Application的对象变量应该是不一样的吧,但是如果再用_IECreate 来创建操作是不对的,哪样进不去,有哪一位大神可以帮忙一下吗,,具体是用哪一个UDF来得到这个。
 楼主| 发表于 2021-2-24 20:11:08 | 显示全部楼层
_IEAttach  可以使用,已经测试过一个平台,再多次测试一下其它的
发表于 2021-2-25 12:41:01 | 显示全部楼层
第1楼中说,第二页中的各元素都可以得到,但是无法进行相关的操作,那就不是IE对象的问题。得到了一个网页的IE对象(不管是用_IECreate还是用_IEAction得到),就可以看到网页源码,并对其中的元素进行操作了。你说现在不能操作,那是操作方法上的问题。AU3帮助中把网页中的元素称之为对象,操作它要先获得该对象的对象变量,而要获得该对象的对象变量的前提是,要先获得该对象所在网页的InternetExplorer.Application对象的对象变量。AU3中的_IE类函数几乎都可完成一般IE的操作。 你之间开的贴中,称因FORM无NAME属性而无法用IEFormGetObjByName获得其对象,但可用_IETagNameGetCollection去获得,即使没获得FORM对象,也无妨,因你最终要操作的是FORM中的元素,而你也用_IEGetObjById获得了那个元素的对象$CheckOut0,操作它,只要_IEFormElementSetValue($CheckOut0,"SBKH001")就行了。不知啰嗦这些,对你是否有帮助?
 楼主| 发表于 2021-2-25 16:45:26 | 显示全部楼层
shqf 发表于 2021-2-25 12:41
第1楼中说,第二页中的各元素都可以得到,但是无法进行相关的操作,那就不是IE对象的问题。得到了一个网页 ...

肯定有帮助了,不过。。我现在已经看到_IEAttach是可以得到对象,然后,进行操作的。。但是现在唯 一一个最怪的问题来了,,我在家里的时候是正常的,但是在办公的地方不正常,,一样的系统,一样的版本,一样的IE,,同一个AU3脚本,到了办公室后,就没有办法第二页中得到对象,,家里都是好的。真是见鬼了。
 楼主| 发表于 2021-2-25 17:23:07 | 显示全部楼层
shqf 发表于 2021-2-25 12:41
第1楼中说,第二页中的各元素都可以得到,但是无法进行相关的操作,那就不是IE对象的问题。得到了一个网页 ...

后来发现是两台电脑不一样的问题,,在家里是OK的。。在办公室是不行的,都是WIN10 1809版 ,,都是IE11,都是同一个网站来操作,也都是用一个AU3文件,与AU3安装程序的,,就是家里的补丁已经更到最新了,而单位的哪台,只更新到了,2020年的2月,,不知道这个是不是有关系。。打算明天再去试试。。所以了来了能得到,但是无法操作的,,我试过,到得后是显示空白的。。没有得到是0
 楼主| 发表于 2021-2-25 17:24:18 | 显示全部楼层
shqf 发表于 2021-2-25 12:41
第1楼中说,第二页中的各元素都可以得到,但是无法进行相关的操作,那就不是IE对象的问题。得到了一个网页 ...

关系如果是电脑系统引起的问题,哪这样就不通用了,不可能其它人的电脑也是要安装到一样的系统一样的补丁呀,哪工程 太大了,,所以,真的是头大了,呵呵,不知道朋友,你有没有好办法可以处理这个的。
 楼主| 发表于 2021-2-25 18:30:52 | 显示全部楼层
shqf 发表于 2021-2-25 12:41
第1楼中说,第二页中的各元素都可以得到,但是无法进行相关的操作,那就不是IE对象的问题。得到了一个网页 ...

你好,朋友,_IELinkClickByText($oIE, "预约诊疗首页")  这个无法点击使用,而_IELinkClickByText($oIE, "自助申诉")可以被点击,真奇怪,http://health.sxws.gov.cn/yypt/login_initial.html  这个网站的,朋友这个方面有研究的吗。
发表于 2021-2-25 18:42:48 | 显示全部楼层
1. InternetExplorer.Application的对象变量都是一样的
2. _IELinkClickByText 点击不了,说明获取的dom对象不正确,可以学一下用js语法;
3. 建议使用内嵌IE,这样对象稳定可用
 楼主| 发表于 2021-2-25 19:15:36 | 显示全部楼层
chamlien 发表于 2021-2-25 18:42
1. InternetExplorer.Application的对象变量都是一样的
2. _IELinkClickByText 点击不了,说明获取的dom对 ...

也是,直接操作,真的是很多的问题存在
 楼主| 发表于 2021-2-25 19:18:28 | 显示全部楼层
chamlien 发表于 2021-2-25 18:42
1. InternetExplorer.Application的对象变量都是一样的
2. _IELinkClickByText 点击不了,说明获取的dom对 ...

你好,朋友,哪你对于我上面提的,两个连接,,一个是预约首页的,,一个是自助申诉的,,这两个,在后面的网页中的代码中,是否有直接的区别呢,,我看到都是一样的连接呢,可否马烦你和我看看哪个网页?
 楼主| 发表于 2021-2-25 19:53:33 | 显示全部楼层
chamlien 发表于 2021-2-25 18:42
1. InternetExplorer.Application的对象变量都是一样的
2. _IELinkClickByText 点击不了,说明获取的dom对 ...

$oFrame = _IETagNameGetCollection($oIE,"IFRAME",0)
$oIE = $oFrame.contentWindow

_IELinkClickByText($oIE,"预约诊疗首页")
这样就处理好了,,借用 网页快捕2.8的功能,,实在是太强大了,
 楼主| 发表于 2021-2-26 14:55:56 | 显示全部楼层
最终,还是家里的可以用,单位的不能用。为什么一样的东西。。会不能用。。哎
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 12:43 , Processed in 0.080878 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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