- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PowerShell2.0之与COM对象交互(四)IE自动化
时间:2011-01-22来源:博客园作者:佚名字体:[ 大 中 小 ]浏览次数: 5
上一篇文章主要介绍了powershell中通过COM操作 Excel,本篇文章中将会着重介绍powershell中通过COM操作IE达到自动化管理的目的。
Internet Explorer浏览器提供基于COM的富对象模型,可以用来编写网站的自动化测试脚本模仿用户操作,如输入文字和单击按钮等并用浏览器创建提交信息的脚本。
能够 编程控制Internet Explorer的仍然是application对象,其ProgID是InternetExplorer.Application。完成自动化范例脚本需要的操作步骤如下。
(1)创建Internet Explorer Application对象。
(2)浏览一个URL。
(3)等待浏览器载入文档内容。
(4)操作文档。
(5)通过调用Quit()方法退出Application。
如果Internet Explorer在后台浏览并下载网页内容,则意味着脚本将不会被阻塞,当尝试操作未曾下载完毕的文档时将会崩溃。可以使用sleep cmdlet来阻塞脚本的执行并周期性地检查application的Busy属性是否为$false来确定下载是否完成,下载完成后访问和修改网页文件才是安全的。
(1)用脚本控制浏览器进程
下面使用Internet Explorer自动化对象打开浏览器窗口并通过Google搜索引擎搜索内容。这里创建一个名为“Search-GoogleCom.ps1”的脚本,其中将实例化Internet Explorer、浏览搜索引擎、输入搜索关键字并单击按钮。然后显示浏览器窗口检查搜索结果,并继续浏览选择的条目。该脚本的代码如下:
function WaitForLoad ($ie) { while ($ie.Busy) { sleep -milliseconds 50 } } $ie = New-Object -COM InternetExplorer.Application $ie.Navigate() $ie.Visible = $true WaitForLoad($ie) $searchBox = $ie.Document.getElementById(q) $searchBox.value = `Windows PowerShell` $goButton = $ie.Document.getElementByID(btnG) $goButton.click();
其中的WaitForLoad函数每隔50毫秒检查浏览器是否处于繁忙状态,如果繁忙,则继续等待50毫秒,期间需要调用sleep来释放由循环占用的CPU的资源。而对于用户来说,50毫秒的停顿在等待页面加载完成时的感觉并不明显。
加载页面完成后需要开始操作文档中的对象,获取HTML文档对象通过Document属性,它支持所有Web开发人员熟悉的方法和属性。使用 getElementById()方法获取文本框的引用,其中保存搜索关键字。搜索按钮的ID是“btnG”,通过设置文本框的Value属性可以将关键字输入到文本框中。在脚本中设置的搜索关键字是“Windows PowerShell”,它由引号引起,这样可以把其中的空格也作为搜索内容来匹配整个词汇。在执行上述操作后调用了按钮的click()方法,提交表单数据。默认情况下Internet Explorer窗口不可见,通过设置Visible属性为$true使窗口可见。图2-17所示为该脚本的执行结果。
查看原图(大图)
图1 执行结果
如果需要在不显示浏览器窗口的情况下提取远程主机中的页面信息,则使用HTML文档对象模型(DOM)编程接口。这是一组由W3C组织定义的标准接口,能够在任何浏览器中使用 JavaScript代码操作。有Web编程经验的读者会注意到前面有使用getElementById()方法通过Internet Explorer的COM接口调用任何DOM元素的实例。
【提示】
DOM编程接口由W3C组织和微软共同发布,其中W3C主要关注在所有浏览器上如何运行,而事实上没有浏览器是完全按照标准实施的。微软主要将W3C的标准落实到Internet Explorer的具体的解析方法上,其DOM解析文档网址是/en-us/library/
ms533050.aspx。
为了演示操作HTML DOM对象,创建一个名为“Get-WebSearchResults.ps1”的脚本。它以静默方式访问G,提交查询并将返回的查询结果中包含的链接页面打印到控制台上。这个脚本主要依靠G生成的ID为“res”
您可能关注的文档
最近下载
- 2025呼和浩特粮油收储有限公司招聘18名工作人员笔试参考题库附答案解析.docx VIP
- 办公室室内设计任务书.doc VIP
- UPS性能功能测试规范V.doc VIP
- 西门子111报文详细.xls VIP
- 供电技术第五版同向前课后习题答案解析.docx VIP
- xxxxxx项目室内设计任务书.pdf VIP
- 2025呼和浩特粮油收储有限公司招聘18名工作人员笔试模拟试题及答案解析.docx VIP
- 400字格子方格作文纸稿纸模板A4纸可直接打印.docx VIP
- 高速铁路概论:电气化铁道供电PPT教学课件.pptx VIP
- 2025呼和浩特粮油收储有限公司招聘18名工作人员笔试备考试题及答案解析.docx VIP
文档评论(0)