【发布时间】:2015-04-14 13:32:40
【问题描述】:
我正在熟悉 PhantomJS。但我不能得到一件事。我有一个简单表单的页面:
<FORM action="save.php" enctype="multipart/form-data" method="GET" onSubmit="return doSubmit();">
<INPUT name="test_data" type="text">
<INPUT name="Submit" type="submit" value="Submit">
</FORM>
save.php 只是写下 test_data 值
所以我正在这样做:
page.evaluate(function() {
document.forms[0].test_data.value="555";
doSubmit();
});
渲染页面时,我看到文本字段为 555,但表单没有提交,并且 save.php 没有写下 test_data 值。所以doSubmit() 没有执行,是吗? doSubmit() 是一个简单的验证步骤,提交应该会加载下一页。
所以问题是:如何使用 PhantomJS 在页面上执行 javascript 代码?
【问题讨论】:
-
function doSubmit() { if(document.forms[0].test_data.value == "") { alert("Fill the field!"); return false; } return true; }在这里,对不起,我忘了在我的问题中发布它。它只是在做验证。 -
哦,我明白了。所以我只需要通过JS点击提交按钮?反正。如果我需要执行该功能,它会以这种方式工作还是有另一种方法?对不起,我跛脚。
标签: javascript phantomjs form-submit