- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试自动化 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")
关于html - 自动化 (IE ComObject) 填充文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33124235/
我正在尝试使用 PowerShell 提取有关 Windows 2003 Server 上事件计划任务的信息。 我在网上找到了一个有用的脚本,用于通过更新版本的 Windows 连接到计划任务: $s
我正在尝试(不走运)为我在 Office 类型库中访问的对象实现“对象转储程序”。 这一定是可能的,因为 VS 的调试窗口有一个 System.__ComObject 对象的“动态 View ”,可以
这是我的一些示例代码,用于查找 OU 中的所有计算机对象。当我打印出属性字段时,我得到一个 System.__ComObject 用于多个值,例如 lastLogon、lastLogonTimesta
这可能吗? 内容如下: import win32com.client ProgID = "someProgramID" com_object = win32com.client.Dispatch(Pr
假设我正在尝试编写一个将结果集打印到 Excel 工作表的 Powershell 函数,如下所示: function Write-ToWorksheet { param ( [Parame
我有一个 PowerShell 脚本,它导航到我们 Intranet 上的(大概)经典 ASP 页面,以停止在我们的服务器上运行的 Windows 服务,作为该服务部署过程的一部分(并在部署新文件后重
我在 Powershell Excel ComObject 上遇到问题,无法接受逗号 , 以外的分隔符。收到的一些外部 .csv 文件使用不同的分隔符,例如分号 ;、管道 | 等。 那么,有什么解决方
我想做的是将在服务器端创建的对象传输到客户端。当我在服务器端和客户端使用 C++ 时,我已经让它工作得很好,但是我没有让我的服务器与其他语言(如 .Net)一起工作,它可能不喜欢这些指针! 这个服务器
我正在尝试自动化 Outlook Web Access 网站,填写一些文本框并单击按钮, 我可以在第一页(登录)和提交按钮中找到相关元素,所以我通过了登录阶段,我的问题是在一些带有屏蔽文本框的页面中找
我一直试图编写一个程序来访问第三方OLE DLL的属性和方法。 下面的代码运行正常。 [System.__ComObject].InvokeMember("AppName", [System.Refl
我正在使用以下代码: Object projObj = htProjects[selectedNode]; // htProjects is a Hashtable:key-project Name,
我正在使用以下代码: Object projObj = htProjects[selectedNode]; // htProjects is a Hashtable:key-project Name,
我正在使用 (Excel.Application)Marshal.GetActiveObject("Excel.Application") 它返回一个 _ComObject 类型,但我想知道我如何才能
我有以下通过 SSIS 执行调用的 SQL 语句: SELECT DISTINCT [ICDM_Log_Paths] = STUFF((SELECT ' ' + [ICDM_Log_Paths]+
我需要从 Powershell 读取 Excel 文件。 我正在使用这个对象: $objExcel=New-Object -ComObject Excel.Application 它在安装了 Offi
我无法将 Word 2010 (14.0.x) 文档发送到 SaveAs或 Close使用 Powershell。从网上的所有 tuts 看来,它应该可以与 2.0 一起使用,但我不再拥有它了。 简单
这是我在这里的第一篇文章,因为实际上我通常用真棒解决我所有的问题 您可以在此处找到发布数据库。但我现在实际上被困住了: 我正在开发一个遵循 MVVM 的项目,包括一个 COM 对象。 正如我在研究期间
我有一个包含不同 ComObject 的列表。如果我执行 myList.Clear() 是否就足够了,还是应该遍历它并执行此操作。 for (int i = 0; i < myList.Count;
我正在编写一个脚本,该脚本应该从 Internet Explorer 中的链接安装一些软件,不幸的是,该站点需要 32 位 Internet Explorer 才能工作。有没有办法强制 32 位 In
我正在尝试使用 PowerShell Core for Mac 加载 Excel 文件,但我遇到了 New-Object 的问题.它在第一行失败了 $Excel = New-Object -ComOb
我是一名优秀的程序员,十分优秀!