Powershell Web Page Automation在Internet上运行,而不是在Intranet上运行

Powershell Web Page Automation在Internet上运行,而不是在Intranet上运行,第1张

概述我正在尝试使用Powershell进行一些简单的自动化,从我们公司的本地Intranet页面中提取链接URL,然后使用这些URL进行一些工作.最后,我将使用该脚本打开每个链接,然后单击页面上的按钮.我在Windows 7 x64中使用Internet Explorer 9. 这是一个简单的工作PowerShell脚本示例,它显示页面上的所有链接: $ie = new-object -com "In 我正在尝试使用Powershell进行一些简单的自动化,从我们公司的本地Intranet页面中提取链接URL,然后使用这些URL进行一些工作.最后,我将使用该脚本打开每个链接,然后单击页面上的按钮.我在windows 7 x64中使用Internet Explorer 9. @H_502_2@这是一个简单的工作PowerShell脚本示例,它显示页面上的所有链接:

$IE = new-object -com "InternetExplorer.Application"$IE.Visible = $true$IE.Navigate( "http://www.reddit.com" )While ($IE.Busy) {    Sleep 1}$links = $IE.document.getElementsByTagname("a")$links | foreach {    write-host $_.href}
@H_502_2@此脚本正常工作,直到我用本地Intranet站点替换URL.它遵循正常的URL方案(http://internaldomain.com/etc),但它被识别为Intranet站点.一旦我试图在Intranet区域中刮取页面,$IE.document值突然变为NulL并且脚本失败.

@H_502_2@我猜它与该区域的一些模糊设置有关……我不确定.我在网上找到了一些建议,比如将它添加到您信任的网站,但这没有用.这是我第一次将Powershell用于Web自动化,因此任何帮助或见解都将受到赞赏.

解决方法 也许解决方案在这里: http://blogs.msdn.com/b/ieinternals/archive/2011/08/03/internet-explorer-automation-protected-mode-lcie-default-integrity-level-medium.aspx @H_502_2@它解释了不同级别的标签,即.您必须使用“中选项卡”在本地区域中导航.

@H_502_2@基本上,保持IE设置和使用脚本的最佳方法是创建一个注册表项,如上面的链接所述.

windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\InternetExplorer.ApplicationMedium][HKEY_CLASSES_ROOT\InternetExplorer.ApplicationMedium\CLSID] @="{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}"
@H_502_2@在您的脚本中,使用这个新的com对象:

$IE = new-object -Com InternetExplorer.ApplicationMedium...
总结

以上是内存溢出为你收集整理的Powershell Web Page Automation在Internet上运行,而不是在Intranet上运行全部内容,希望文章能够帮你解决Powershell Web Page Automation在Internet上运行,而不是在Intranet上运行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1104521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存