我已经知道Powershell并不是真正意义上的GUI自动化,但同样我有一个非常大的Powershell脚本需要执行单个GUI操作,即鼠标左键单击。我搜索了几个小时,但没有找到满意的解决方案。我发现的最接近的是一个名为Wasp的附加组件,但它是在2009年写的,无论如何似乎都是不完整的。
是否有另外一个可用于解决此问题的补充?
答案 0 :(得分:1)
我不能宽恕使用它作为第一手段,但它应该工作。通常在处理网页时,您希望尽可能多地使用URL参数,因为网页元素是易变的。
用它说你应该能够创建一个IE comobject然后选择那个方式的元素。例如:
首先创建一个IE对象:
$ie = New-Object -ComObject "InternetExplorer.Application"
$ie.navigate("YourPageURLHere.com")
$ie.visible = $true
您可以按ID操作某些元素(例如:名称="用户名")甚至键入。通过查看网页的源代码可以很容易地找到这些内容。以下是一些例子:
$Username = $ie.document.getElementByID("Username")
$Username.value = $UsernameValue
$SearchButton = $ie.Document.getElementsByTagName("button")
$SearchButton.click()
即使网页发生了变化,因为我们将它全部附加到IE对象,然后您可以获取在单击提交按钮后生成的输出元素,并将它们反馈到您的脚本中。