Только что написал этот скрипт powershell, который принимает пользовательский ввод, выполняет поиск в Google с помощью Chrome, вкладки к первой ссылке, а затем открывает ее. Цикл можно изменить, чтобы выбрать любой элемент на странице (в этом примере изменилось число 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 для захвата элементов со страницы по идентификатору в результатах поиска Google, на самом деле не способствуют этому. Если бы вы собирали данные с определенной страницы со статической информацией, было бы лучше использовать ее. Реальная гибкость достигается с помощью Selenium, но это требует некоторого опыта программирования. Вы должны просто иметь возможность редактировать этот код как есть и выяснить, как заставить его делать то, что вы хотите.
Изменить: Предварительные условия - есть хром.
Вот еще один способ сделать это с 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)