使用powershell,new了一个IEcom对象,结果在使用getelementbyid的时候一直提示出错!

functionNavigateIE($url){$ie=New-Object-ComObjectInternetExplorer.Application;$ie.nav... function NavigateIE($url){
$ie=New-Object -ComObject InternetExplorer.Application;
$ie.navigate($url)
$ie.visible=$true
return $ie
}
$ie=NavigateIE("http://vdi.tk.net/Citrix/StoreWeb/")
$username=$ie.Document.getElementById("username")
$username.value="tXX"
$password=$ie.Document.getElementById("password")
$password.value="tXXX"
$loginBtn=$ie.Document.getElemnetByID("loginBtn")
$loginBtn.click()
报错如下:
**************************************************************************

找不到“getElementById”的重载,参数计数为:“1”。
所在位置 C:\Users\administrator.TPVDI\Desktop\XDtest.ps1:75 字符: 1
+ $password=$ie.Document.getElementById("password")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodException
+ FullyQualifiedErrorId : MethodCountCouldNotFindBest
********************************************************************************
跪求高手指点!
展开
 我来答
照熟些年技活3301
2013-09-28 · 贡献了超过321个回答
知道答主
回答量:321
采纳率:0%
帮助的人:87.2万
展开全部
你可以给两个元素设置一个相同值得name属性,然后用getElementByName("nameValue")方法返回一数组,数组会包含那两个相同name值的元素对象m之后可以用for语句遍历数组,处理那两个元素对象173还有一种方法是给那两个元素设置相同的class值;再封装一个函数,先获取那两个对象的父级对象,再遍历该父级的所有后代,用if判断className为你设置的class值时,将其压入一个创建的数组中,最后返回该数组。之后同样可以用for语句遍历返回的数组,处理那两个元素对象。还有也可以就给两个元素不同的id值,而将它们的处理代码块封装成一个函数,再将获取的两个元素对象分别调用该函数
追问
其实你没有理解我真正的意图,出问题的原因我已经找到了,我运行脚本的的操作系统的ie浏览器是ie10,可能因为版本的原因吧,在ie9上运行就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式