在Powershell中模拟鼠标单击

在Powershell中模拟鼠标单击,powershell,automation,Powershell,Automation,我已经知道Powershell并不是真正用于GUI自动化,但我有一个相当大的Powershell脚本,需要执行单个GUI操作,即鼠标左键单击。我找了几个小时,没有找到满意的解决办法。我找到的最接近的是一个名为Wasp的附加组件,但它是在2009年编写的,而且似乎并不完整 是否有其他插件可用于解决此问题?我不能容忍将此作为第一种手段,但它应该会起作用。通常,在处理网页时,您希望尽可能多地使用URL参数,因为网页元素是易变的 这么说来,您应该能够创建一个IE comobject,然后以这种方式选择元

我已经知道Powershell并不是真正用于GUI自动化,但我有一个相当大的Powershell脚本,需要执行单个GUI操作,即鼠标左键单击。我找了几个小时,没有找到满意的解决办法。我找到的最接近的是一个名为Wasp的附加组件,但它是在2009年编写的,而且似乎并不完整


是否有其他插件可用于解决此问题?

我不能容忍将此作为第一种手段,但它应该会起作用。通常,在处理网页时,您希望尽可能多地使用URL参数,因为网页元素是易变的

这么说来,您应该能够创建一个IE comobject,然后以这种方式选择元素。例如:

首先创建一个IE对象:

$ie = New-Object -ComObject "InternetExplorer.Application"
$ie.navigate("YourPageURLHere.com")
$ie.visible = $true
您可以通过ID(ex:name=“username”)甚至类型来操作某些元素。在查看网页的源代码时可以很容易地找到这些代码。以下是几个例子:

$Username = $ie.document.getElementByID("Username")
$Username.value = $UsernameValue

$SearchButton = $ie.Document.getElementsByTagName("button")
$SearchButton.click()

即使网页发生了变化,由于我们将其全部附加到IE对象,您也可以获取在单击“提交”按钮后生成的输出元素,并将其反馈到脚本中。

具体操作是什么?我不这么认为,我需要点击网页上的一个按钮。这个特殊的按钮没有快捷键。我以前使用过Wasp,根据我的经验,它工作得很好。对于dfundako来说,你仍然可以通过使用标签自动按键。试着打开你想要自动化的GUI,点击tab,看看按钮是否符合tab的顺序。如果它得到了焦点,我想点击空格键就会点击按钮。编辑事实上,我先按TAB键,然后按空格键,对该评论执行了保存编辑。单击网页上的按钮通常意味着发送HTTP POST请求,无需借助GUI自动化即可进行模拟。我建议使用调试代理(如Fiddler)来了解单击该按钮时到底发生了什么。