Powershell:无法点击" Google搜索"输入搜索字符串后

时间:2017-11-06 16:50:15

标签: powershell internet-explorer button click browser-automation

我编写了以下代码片段来打开Internet Explorer并搜索特定字符串。但是,我无法点击" Google搜索"按钮查看搜索结果。

$IE=new-object -com internetexplorer.application  
$site= "www.google.com"  
$IE.navigate2($site)  
$IE.visible=$true  
$search_string= "Sachin Tendulkar"  
while($ie.ReadyState -ne 4) {start-sleep -m 100}  
$IE.document.getElementById("lst-ib").value= "$search_string"  
$IE.document.getElementsByTagName("input") | Where-Object { $_.Type -eq "submit" -and $_.name -eq "btnK" } | ForEach-Object { $_.Click() };

我甚至尝试过以下代码段来尝试点击" Google搜索"按钮。

$submitButton = $ie.document.getElementsByTagName("input") 
Foreach($element in $submitButton )
{

    if($element.type -eq "submit" -and $element.value -eq "Google Search"){
    Write-Host $element[0].click()
    }
}

以及以下一种方法。

$btn = $ie.Document.getElementsByTagName("input") | Where-Object {$_.Type -eq "submit" -and $_.name -eq "btnK"} 
$btn.click();

我需要帮助才能完成这项工作。

1 个答案:

答案 0 :(得分:0)

为什么不直接用以下方式打开搜索:

$IE=new-object -com internetexplorer.application
$site= "www.google.com"
$search_string= "Sachin Tendulkar"
$url = "//" + $site + "/search?q=" + [System.Web.HttpUtility]::UrlEncode($search_string)
$IE.navigate2($url)
$IE.visible=$true

因此您无需点击提交按钮即可获得结果