加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – 自动化(IE ComObject)填充文本框

发布时间:2020-12-14 19:33:26 所属栏目:资源 来源:网络整理
导读:我正在尝试自动化一个Outlook Web Access网站,填写一些文本框并点击一个按钮, 我可以在第一页(登录)和提交按钮中找到相关元素,所以我通过登录阶段,我的问题是在一些页面中找到带有蒙版文本框的元素,我附加了3个步骤的快照,以及对象的DOM图像. $IE = New-Obje
我正在尝试自动化一个Outlook Web Access网站,填写一些文本框并点击一个按钮,

我可以在第一页(登录)和提交按钮中找到相关元素,所以我通过登录阶段,我的问题是在一些页面中找到带有蒙版文本框的元素,我附加了3个步骤的快照,以及对象的DOM图像.

$IE = New-Object -ComObject InternetExplorer.Application
$URL = 'https://somewebsite/ecp/?rfr=owa&p=PersonalSettings/Password.aspx'
$IE.Visible = $true
$IE.Navigate($URL)
While ($IE.Busy -eq $true) {Start-Sleep -Milliseconds 2000} 

$ie.Document.getElementById('username').value = "username"
$ie.Document.getElementById('password').value = "password"
$Submit = $ie.Document.getElementsByTagName('Input') | ? {$_.Type -eq "Submit"}
$Submit.click()

到目前为止这么好,我的问题从里面的页面开始,我只是找不到密码字段的文本框元素,

这里也是这些元素的DOM快照:

我真的很感激任何帮助

解决方法

尝试到 automate a file upload on sharepoint时,我遇到了同样的问题.
诀窍是上传表单是在一个新的框架内打开的.
<iframe id="Dlg..." class="ms-dlgFrame" src="https://.../Upload.aspx?List=..."></iframe>

所以要获得输入字段,我必须查看每个打开的框架,并选择一个良好的位置:

for($i=0;$i -lt $ie.Document.frames.length;$i++){
   if( $ie.Document.frames.item($i).location.href -match 'upload.aspx' ){
       $frm=$ie.Document.frames.item($i)}
 }

从那时起,我能够将输入字段定位:

$frm.document.body.getElementById("txtOldPwd")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读