在谷歌中搜索并打开特定网站的批处理文件

在谷歌中搜索并打开特定网站的批处理文件

是否可以制作一个批处理文件,在谷歌中搜索一个单词,然后打开一个特定的网站?

例如当我运行此脚本时@echo off cd C:\Program Files\Internet Explorer iexplorehttp://www.google.bg/search?q=%search%+wedding摄影师

它打开 IE 并自动搜索“婚礼摄影师”,如果可能的话,我希望自动“登陆”到特定的网站http://example.com

先进10倍!

答案1

有以下几种方法可以实现此目的:

  1. Selenium 浏览器自动化
  2. Phantom——无头网络浏览器

您可以尝试两者,然后根据您的任务要求和编程经验选择其中之一。

答案2

刚刚编写了这个 powershell 脚本,它接受用户输入,使用 chrome 搜索 google,切换到第一个链接然后打开它。可以修改循环以选择页面上的任何元素(在本例中更改数字 17)。

将其复制到记事本并另存为 .ps1,然后右键单击它并使用 powershell 打开它。当 PS 打开时,它会要求输入搜索词。输入oranges

[void] [System.Reflection.Assembly]::LoadWithPartialName("'System.Windows.Forms")
$userSearch = Read-Host -Prompt 'Insert Search Term'
[System.Diagnostics.Process]::Start("chrome.exe","www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=" + $userSearch)
Start-Sleep -s 3

For ($i=0; $i -le 17; $i++)
{
    [System.Windows.Forms.SendKeys]::SendWait("{TAB}") 
    Start-Sleep -m 150
}
Start-Sleep -s 1
[System.Windows.Forms.SendKeys]::SendWait("{ENTER}") 
pause

还有另一种方法,即使用 IE 和更多 .net api 通过 ID 从页面中抓取元素,但谷歌搜索结果对此并不十分有利。如果您从包含静态信息的特定页面中抓取数据,则使用这种方法更为理想。然而,使用 Selenium 会带来真正的灵活性,但这需要一些编程经验。您应该能够按原样编辑此代码并弄清楚如何让它执行您想要的操作。

编辑:先决条件-有 chrome。

这是使用 IE 的另一种方法。这将提示输入搜索词,然后打开一个使用“手气不错”的选项卡以转到最佳页面,第二个选项卡则显示常规搜索结果。另存为 .ps1。

$url1 = "http://www.google.com/search?q="
$url2 = "&btnI"
$userSearch = Read-Host -Prompt 'Insert Search Term'
$ie = New-Object -com internetexplorer.application; 
$ie.visible = $true; 
$ie.navigate($url1 + $userSearch + $url2);
$ie.navigate($url1 + $userSearch , 2048)

相关内容