我无法传递参数传递给函数page.evaluate.我想提交表格.
data1 = "Textsample";
page.evaluate(function(data1) {
var form = document.getElementById ("MyForm");
form.data.value = data1;
form.submit();
});
Run Code Online (Sandbox Code Playgroud)
但是当我截取页面截图时,数据字段填充了"未定义".我做错了什么以及如何解决?
我熟悉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>
Run Code Online (Sandbox Code Playgroud)
并且save.php只记下test_data值
所以我这样做:
page.evaluate(function() {
document.forms[0].test_data.value="555";
doSubmit();
});
Run Code Online (Sandbox Code Playgroud)
渲染页面时,我看到文本字段是555,但表单没有提交,save.php没有记下test_data值.所以doSubmit()不执行,是吗?doSubmit()是一个简单的验证步骤,提交应该加载下一页.
所以问题是:如何使用PhantomJS在页面上执行javascript代码?