PowerShell2.0之与COM对象交互(四)IE自动化.doc

PowerShell2.0之与COM对象交互(四)IE自动化.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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”

文档评论(0)

638922bb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档