小编use*_*803的帖子

PhantomJS不接受传递给page.evaluate()的函数的参数

我无法传递参数传递给函数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)

但是当我截取页面截图时,数据字段填充了"未定义".我做错了什么以及如何解决?

javascript arguments phantomjs

7
推荐指数
1
解决办法
1851
查看次数

如何使用PhantomJS提交表格?

我熟悉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代码?

javascript form-submit phantomjs

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×2

phantomjs ×2

arguments ×1

form-submit ×1