jquery - 使用 jQuery 填充后仍需要输入字段
问题描述
我正在尝试编写一个基本脚本来填充热点 wifi 登录用户名和密码。但我不是程序员...
我使用网络检查器提取页面代码:
<div id="fixed_modalLogin" class="popup ng-scope" dir="ltr"
ng-if="vm.isFixedPhoneFormShown">>
<div class="popup-overlay">
<div class="popup-wrap a-center">
<label class="exit" ng-click="vm.hidefixedPopup()">×</label>
<form name="fixed_login_form"
ng-submit="vm.fixedLoginPhone(fixed_login_form)"
novalidate="" ng-hide="vm.inProgress"
class="ng-pristine ng-invalid ng-invalid-required">
<header class="head text-left"
ng-class="vm.layout==true ? 'text-right' : 'text-left'">
<div class="h ng-binding"
ng-bind-html="vm.ui.joodPopupText.value | trustedHtml">
<p>Enjoy free internet for STC customers with fixed Internet
bundles<br><br>If you forget the username or password please
send an SMS to 900 with the code 1811 followed by the area
code then your landline number for example
(1811 01XXXXXXXX<br><br>
</p>
</div>
</header>
<main ng-class="vm.layout==true ? 'ar_main_free' : 'main_free'"
class="main_free">
<h4><span class="ng-binding">* Username</span></h4>
<span class="ng-binding">xxx@stc.net.sa</span>
<input ng-init="vm.user.username = ''" ng-model="vm.user.username"
name="username" required=""
class="ng-pristine ng-untouched ng-invalid ng-invalid-required">
<!-- ngIf: fixed_login_form.$submitted -->
<h4><span class="ng-binding">* Password</span></h4>
<input type="password" ng-init="vm.user.password = ''"
ng-model="vm.user.password" name="password" required=""
class="ng-pristine ng-untouched ng-invalid ng-invalid-required">
<!-- ngIf: fixed_login_form.$submitted -->
<div class="form-group ng-isolate-scope" errors="vm.serverErrors" field="'base'">
<!-- ngRepeat: error in vm.errors[vm.field] -->
</div>
</main>
<footer class="footer">
<button class="button" type="submit">
<span class="ng-binding">LOGIN</span>
</button>
</footer>
</form>
<spinner ng-show="vm.inProgress" in-progress="vm.inProgress"
class="ng-isolate-scope ng-hide">
<div ng-class="vm.inProgress==true ? 'sk-fading-circle' : 'sk-fading-circle-landing'"
class="sk-fading-circle-landing">
<div class="sk-circle1 sk-circle"></div>
<div class="sk-circle2 sk-circle"></div>
<div class="sk-circle3 sk-circle"></div>
<div class="sk-circle4 sk-circle"></div>
<div class="sk-circle5 sk-circle"></div>
<div class="sk-circle6 sk-circle"></div>
<div class="sk-circle7 sk-circle"></div>
<div class="sk-circle8 sk-circle"></div>
<div class="sk-circle9 sk-circle"></div>
<div class="sk-circle10 sk-circle"></div>
<div class="sk-circle11 sk-circle"></div>
<div class="sk-circle12 sk-circle"></div>
<div ng-class="vm.inProgress==true ? 'spinner-popup' : 'spinner'" class="spinner">
<span class="ng-binding">LOADING</span>
</div>
</div>
</spinner>
</div>
</div>
</div>
我能够编写代码单击并使用名为“HelloGuestWifi”的应用程序使用以下脚本填写用户名和密码:
try { document.querySelector("a[ng-click='vm.fixedLogin();']").click();
} catch(ee){ }
try{ jQuery("input[name='username']").val("ZZZZ@stc.net.sa");
} catch(ee){ }
try{ jQuery("input[name='password']").val("ZZZZ");} catch(ee){ }
try{ jQuery("span:contains('LOGIN')").click();} catch(ee){ }
在 ISP 更新其登录页面之前。此命令行正在工作:
try { document.querySelector("input[ng-init='vm.user.username']").Value("ZZZZ");} catch(ee){ }
但是现在他们将其更改ng-init='vm.user.username'
为ng-init="vm.user.username = ''"
所以我尝试改用 jQuery。
但是现在页面在输入字段填写用户名和密码后显示“必填字段”。
有没有办法让这个命令再次工作try { document.querySelector("input[ng-init='vm.user.username = ''']").Value("ZZZZ");} catch(ee){ }
谢谢!
解决方案
好吧,看看你提供的代码。jquery val 接受字符串或变量,我相信“ZZZZ”不是变量。
try{ jQuery("input[name='password']").val("ZZZZ");} catch(ee){ }
推荐阅读
- javascript - 如何在另一个数组中查找 id 不可用的对象
- javascript - 如何使 GraphQL 游乐场不显示选定的选项?
- ruby-on-rails - Ruby on Rails:TypeError(没有将字符串隐式转换为整数)
- maven - 如何在我的 jar 项目上创建额外的 jlink 工件?
- c# - 使用不同的Database,有不同的DBcontext,根据不同的URL请求连接到它
- python - 如何在不导入整个包的情况下在其包含的包下公开一个 python 类?
- python-3.x - 如何从每列中检索最新的非空值
- c++ - 为什么尝试在 C++ 中打印枚举类会出错?
- javascript - 通过此对象提交表单
- sql - 如何修复公用表表达式-CTE和代码国家