Есть ли в PowerShell способ получить текст URL-адреса без использования браузера? - PullRequest
0 голосов
/ 28 ноября 2018

Сам сайт должен быть авторизован, что я делаю как «пользователь-призрак», используя объект COM.Есть страница с таблицей, которую я могу скопировать, посылая нажатия клавиш, собирая список URL / идентификаторов / другой информации, которая сохраняется в буфере обмена / текстовом файле.С помощью объекта com я могу открыть каждый элемент url из этого файла (если я вошел в систему) и получить текст страницы в запросе документа, но только после загрузки страницы (слишком скоро возвращает частичноеpage).

Это очень медленно, более 15 000 страниц / URL, и я надеялся улучшить эту скорость без необходимости рендеринга каждого URL (я даже должен поместить каждый из них в цикл с проверками на случай, если он потерпит неудачу)загрузить)

Есть ли способ получить различную метку: свойства LabelValue из URL веб-страницы, не загружая ее?Редактировать * У меня есть код:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$ie = New-Object -ComObject 'internetExplorer.Application'
$user = "me"; $pw = "pw"
$ie.Visible = $true
$ie.Navigate("https://Loginscreen.com")
$userField = $ie.document.getElementByID('login')
$usernamefield.value = "$user"
$passwordfield = $ie.document.getElementByID('password')
$passwordfield.value = "$pw"
$Link = $ie.document.getElementByID('SubmitLogin')
$Link.click()
$ieProc = Get-Process | ? { $_.MainWindowHandle -eq $ie.HWND }
[Microsoft.VisualBasic.Interaction]::AppActivate($ieProc.Id)
$fc = gc "C:\TempProject.txt"
foreach ($f in $fc)
{
  $url = $f.split("`t")[-1]
  $HTML = Invoke-WebRequest $url 
  $body = $HTML.ParsedHTML.body.innerText
  $body
}

Однако, похоже, он возвращает общую информацию о странице входа в систему ..... Я не смог найти ссылку на что-либо на веб-странице, которую я хотел -либо информация HTML-тега, либо сам текст.

1 Ответ

0 голосов
/ 28 ноября 2018

Если вы имеете в виду «Есть ли способ получить текст URL без использования браузера?»ответ ошеломляющий и громкий Да!Попробуйте Invoke-WebRequest и посмотрите, есть ли у свойства Content то, что вы ищете.Вычистка HTML из текста - это все еще то, что вам нужно будет сделать вручную или использовать другой пакет, чтобы вычистить сочные кусочки из фруктов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...