gpt4 book ai didi

javascript - 使用 powershell 关闭弹出窗口

转载 作者:行者123 更新时间:2023-11-29 15:23:34 25 4
gpt4 key购买 nike

目前我正在编写一个脚本来在 IE 中自动执行一个过程,以添加计算机名称及其 MAC,以便我们可以对它们进行镜像。该页面有两个字段,一个用于 MAC,一个用于计算机名称,然后是一个添加新按钮。目前它仍然是手动输入,但我打算让它从 csv 中读取一次做大组。

我目前遇到的问题是,只要有重复记录,它就会通过 javascript 弹出窗口告诉您。弹出窗口禁用与 IE 页面的交互。我需要一种方法来关闭条目之间的弹出窗口。

这是我的代码目前的样子。

cls

$URL = ""
$iterator = 1;

#starts IE
$ie = new-object -ComObject "InternetExplorer.Application"

#visible for testing purposes
$ie.visible = $true
#$ie.silent = $true
$ie.navigate($URL)

#Manual Input
$newMAC = read-host -prompt 'Input MAC here'
$newNAME = read-host -prompt 'Input Computer Name here'

while($ie.Busy -eq $true) { start-sleep -Milliseconds 100 }

#enters information into appropriate fields and clicks the add button
($ie.document.getElementsByName("mc_id") |select -first 1).value = $newNAME;
($ie.document.getElementsByName("mac_id") |select -first 1).value = $newMAC;
($ie.document.getElementsByName("btnAddNew") |select -first 1).click();

编辑:

我暂时决定使用一个草率的解决方案来为每个新条目关闭我的 com 对象。但是,我现在在导入要读取的脚本的 csv 时遇到问题。

最佳答案

$wshell = New-Object -ComObject wscript.shell;
if($wshell.AppActivate('Message from webpage'))
{
Start-Sleep -Seconds 1
[System.Windows.Forms.SendKeys]::SendWait('{Enter}')
}

此代码会将事件窗口设置为标题为“来自网页的消息”的窗口,因此请调整它以匹配弹出标题。

然后它将发送 Enter 按键。您可以调整它以发送组合键来关闭弹出窗口。甚至可以使用 ::SendWait('%{f4}')

发送 ALT+F4

我假设 Javascript 弹出窗口在新窗口中打开。或者,我会查看页面上使用了哪些其他 JavaScript,如果它仅用于弹出窗口,请查看在该页面上为 com 对象禁用 Javascript。

编辑:

要禁用 Javascript,您需要关闭此页面的所有 java 代码执行,方法是将其添加到受限站点安全区域并确保该区域的 javascript 执行已关闭。但我有一个更好的主意,您可以使用 com 对象来尝试破坏页面弹出功能:

$ie = new-object -ComObject "InternetExplorer.Application"
$ie.visible = $true
$ie.navigate("http://www.echoecho.com/jswindows03.htm")
$ie.Document.body.innerHTML = $ie.Document.body.innerHTML -replace "popup\('www.yahoo.com', 'Win1', 300, 300\);", ""

此代码块打开一个具有演示 javascript 弹出功能的页面,然后从按钮 onclick 事件中删除函数调用。导致 pop 永远不会被调用。您可以使用与我相同的技巧来修改页面的客户端副本并破坏 javascript 或将其修改为永不显示。

关于javascript - 使用 powershell 关闭弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41365506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com