我正在尝试自动化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快照:
我真的很感激你们的帮助
3条答案
按热度按时间bksxznpy1#
我在尝试automate a file upload on sharepoint时遇到了同样的问题。诀窍是上传表单在一个新的框架内打开。
因此,为了获得输入域,我必须查看每个打开的框,并选择位置合适的框:
从那时起,我可以确定输入字段的目标:
bkhjykvo2#
使用UI自动化是可能的。在那里,我们可以使用自动化ID轻松地检测元素,并且我们可以轻松地执行读/写操作。但我不知道您是否习惯使用UI自动化,如果可以的话,我想我可以帮助您。用户界面自动化有很多选项,例如
1)用户界面自动化。
2)白色
3)看电视等,
如果您对框架中的任何一个感到满意,那么我想我可以帮助您。
lc8prwob3#
好的,我找到了:)
问题是站点有两个
iframe
标记,一个在另一个里面,感谢大家