[英]“TypeError: undefined is not a constructor” with Capybara (PhantomJS)
[英]TypeError: undefined is not a constructor Phantomjs
我正在使用
document.querySelector("input[name='txtID']").value = "myid";
document.querySelector("input[name='txtUserName']").value = "myname";
document.querySelector("input[name='txtPassword']").value = "mypassword";
document.querySelector("input[name='txtMode']").value = "1";
document.querySelector("input[name='txtLang']").value = "en";
document.querySelector("input[name='submit']").submit();
但是我收到一个错误TypeError:未定义不是构造函数(评估'document.querySelector(“ input [name ='submit']”“))。
这是HTML代码:
<div id="myTabContent" class="tab-content">
<div class="set-loginbx-active" id="b2b">
<form name="form1" method="post" onSubmit="return HC.checkMode(this);">
<div id="lyAgent">
<div class="lbl-login" id="dAgentID">Agent Id.</div>
<div class="inp-login"><input name="txtID" id="txtID" type="text"></div>
<div class="clear"></div>
</div>
<div class="lbl-login" id="dUserName">Username</div>
<div class="inp-login"><input name="txtUserName" id="txtUserName" type="text"></div>
<div class="clear"></div>
<div class="lbl-login" id="dPassword">Password</div>
<div class="inp-login">
<input name="txtPassword" id="txtPassword" type="password">
<input type="hidden" name="txtMode" id="txtMode" value="1" />
<input type="hidden" name="txtLang" id="txtLang" value="en" />
</div>
<div class="clear"></div>
<div class="btn-login"><input name="submit" type="submit" value="LOGIN" /></div>
<div class="box-access">
<div class="tt-access">Access Level</div>
<div class="lnk-access"><input type="radio" name="optionsRadios" id="optionsRadios1" onclick="HC.loginMode(1);"> Master Login</div>
<div class="lnk-access"><input type="radio" name="optionsRadios" id="optionsRadios2" checked onclick="HC.loginMode(0);"> Agent Login</div>
</div>
</form>
</div>
有人可以向我解释为什么吗?
问题是您不能在<input>
上调用Submit()。 这是<form>
。 改为这样做
document.querySelector("form[name='form1']").submit();
编辑:您不应有任何名称为“提交”的元素。 在您的HTML中,您的提交输入也具有提交名称。 从<input>
元素中删除name='submit'
属性。
那应该是:
document.querySelector("input[name=submit]").click()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.