有没有办法通过R访问受密码保护的网站:https://www.npddecisionkey.com/sso/#login/applications/decisionkey? 我检查了页面的源代码,但无法找到用户名和密码的位置。
答案 0 :(得分:0)
您是如何检查HTML的?我问b / c:
<input id="textfield-1022-inputEl" data-ref="inputEl" type="text" size="1" name="userName" placeholder="Username" role="textbox" aria-hidden="false" aria-disabled="false" aria-readonly="false" aria-invalid="true" aria-required="true" class="x-form-field x-form-required-field x-form-text x-form-text-field-noborder x-form-invalid-field x-form-invalid-field-field-noborder x-form-empty-field x-form-empty-field-field-noborder" autocomplete="ON" data-componentid="textfield-1022" aria-describedby="textfield-1022-ariaErrorEl">
是用户名输入字段,其中:
<input id="textfield-1023-inputEl" data-ref="inputEl" type="password" size="1" name="password" placeholder="Password" role="textbox" aria-hidden="false" aria-disabled="false" aria-readonly="false" aria-invalid="true" aria-required="true" class="x-form-field x-form-required-field x-form-text x-form-text-field-noborder x-form-invalid-field x-form-invalid-field-field-noborder x-form-empty-field x-form-empty-field-field-noborder" autocomplete="ON" data-componentid="textfield-1023" aria-describedby="textfield-1023-ariaErrorEl">
是密码输入字段,并且:
<form class="x-panel x-center-layout-item x-panel-indented" style="padding: 30px 0px 0px; width: 315px; right: auto; left: 0px; top: 0px; margin: 0px; height: 373px;" method="post" role="presentation" id="auth-login-1018">
是表单的开头。
您应该考虑在此网站上使用rvest::html_session()
或RSelenium。如果页面上没有很多动态元素,前者将会很好,并且会保留登录后生成的会话cookie。如果网站上有非XHR动态元素,后者将会很好。如果您尝试rvest::submit_form()
解决方案,请考虑在建立初始会话后使用rvest
并设置表单参数。
绝大多数标签上的详细标记让我相信他们可能正在使用一个或两个尝试动态的js框架,这可能意味着你将被迫使用RSelenium
。