Я пытаюсь сохранить содержимое веб-страницы, требующей входа в сеанс; Я пытался использовать wget с вводами useragent и username (e / login) и password (p / password) и пытался сохранить файл cookie, но понял, что ничего не записано. Затем я перешел к этому методу (в PowerShell 6):
$R = Invoke-WebRequest -Uri "https://app.asana.com/-/login" -UserAgent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0" -SessionVariable asana
но потом, когда я пытаюсь
$Form = $R.Forms[0]
Там нет форм.
Cannot index into a null array.
At line:1 char:1
+ $Form = $R.Forms[0]
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : NullArray
Поля ввода следующие:
$R.InputFields
outerHTML : <input type="hidden" name="u" value="https://app.asana.com/?rr=296832" />
tagName : INPUT
type : hidden
name : u
value : https://app.asana.com/?rr=296832
outerHTML : <input type="hidden" name="i" value="password" />
tagName : INPUT
type : hidden
name : i
value : password
outerHTML : <input type="hidden" name="src" value="login" />
tagName : INPUT
type : hidden
name : src
value : login
outerHTML : <input type="hidden" name="auth" />
tagName : INPUT
type : hidden
name : auth
outerHTML : <input type="hidden" name="xsrf_token" value="60a3a8255cfe364b3fbec08ec6c2106e:1578648571483" />
tagName : INPUT
type : hidden
name : xsrf_token
value : 60a3a8255cfe364b3fbec08ec6c2106e:1578648571483
outerHTML : <input tabindex="1" type="email" name="e" id="email_input" value="" />
tagName : INPUT
tabindex : 1
type : email
name : e
id : email_input
value :
outerHTML : <input tabindex="2" type="password" name="p" id="password_input" />
tagName : INPUT
tabindex : 2
type : password
name : p
id : password_input
Так что теперь я могу получить доступ к имени пользователя (т.е. к электронной почте) напрямую:
$R.InputFields[5].Value="nats@email"
Но есть не является свойством Value для InputFields [6], который является паролем.
Exception setting "Value": "The property 'Value' cannot be found on this object. Verify that the property exists and can be set."
Я не могу найти альтернативный способ ввода пароля. Или, может быть, существует другой метод?
После входа в систему я получу доступ к нужной веб-странице (в рамках сеанса) и сохраню содержимое с помощью -OutFile ..