是否可以制作一个批处理文件,在谷歌中搜索一个单词,然后打开一个特定的网站?
例如当我运行此脚本时@echo off cd C:\Program Files\Internet Explorer iexplorehttp://www.google.bg/search?q=%search%+wedding摄影师
它打开 IE 并自动搜索“婚礼摄影师”,如果可能的话,我希望自动“登陆”到特定的网站http://example.com
先进10倍!
答案1
答案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)