gpt4 book ai didi

node.js - Phantom.js 填写字段,点击提交,现在卡在访问下一页

转载 作者:行者123 更新时间:2023-11-30 05:59:23 29 4
gpt4 key购买 nike

我从 phantom.js 开始(顺便说一句,我爱上了它)。我试图让 headless 浏览器进入我的 php 管理面板,使用用户名和密码登录,并在登录后从它重定向到的页面我想从 div 标签中获取一些文本。

到目前为止,我成功地填充了字段,创建了一个点击事件,甚至找到了对 div 标签的 DOM 部分的访问并获得了 inner.Text。

对我来说唯一缺少的部分是当 phantom.js 单击一个按钮(在本例中为登录按钮)时我将登录并更改页面内容时该怎么做。我找不到 .click() 之后的处理方法;事件。

这是我到目前为止编写的代码(顺便说一句,这是开始的好方法...)

var page = new WebPage();

page.open("the url comes here",
function(status){
if(status != "success"){console.log('fail loading the page');}
page.evaluate(function(){
var arr = document.getElementsByName("formname");
arr[0].elements["username"].value="username here";
arr[0].elements["password"].value="password here";
arr[0].elements["submit"].click();
return;
}
phantom.exit()
});

我想在它之后的页面上运行的代码是

console.log(window.frames[1].document.getElementById('status').innerHTML)

所以剩下的唯一问题是如何处理重定向并在另一个页面上启动脚本。

谢谢,

最佳答案

您需要为页面加载设置一个新的回调:

page.onLoadFinished = function(status){
console.log(window.frames[1].document.getElementById('status').innerHTML)
}

这应该在触发 .click() 之前出现。

关于node.js - Phantom.js 填写字段,点击提交,现在卡在访问下一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9621842/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com