html属性临时存值,如何将特定的HTML属性值保存到csv文件?

这篇博客介绍了如何使用PhantomJS库进行网页登录自动化,并在登录后抓取特定数据。作者首先加载论坛登录页面,填充用户名和密码字段,然后提交表单。在等待5-10秒后,脚本会获取用户列表的HTML内容。目标是识别包含'mailto'的数据,并将其保存到CSV文件中。博客中提供了详细的代码示例,包括页面加载监听、元素选择和内容输出等步骤。
摘要由CSDN通过智能技术生成

我的脚本应该打开论坛页面,在填写登录/密码的字段,提交表单和新打开的页面保存特定数据(用户,邮件列表等) 当我提交表单,我需要等5-10秒左右,所以我的超时时间非常长。 我给予了极大的功劳维杰,因为我从他的回答在这个岗位开始了: How to submit a form using PhantomJS

只是为了测试目的我CONSOLE.LOG网站内容两次:在登录电子和一次后前一次。它也可以。

用户列表的HTML内容由许多元素组成。 其中一个看起来像(修剪所有的造型,类等):

[code for img]

[code for img]

//many tds

达阵和TRS没有标识或名称属性。有几列,但我想保存到csv只有他们几个(如果因为没有字段ID是不可能的,我可以将所有内容保存到csv,但它是不太需要的解决方案)。 我想通过查找'mailto'来识别所需的数据,然后将'[email protected]'保存到文件中。

我不知道如何将其保存到csv,但也让脚本知道什么数据应该到达电子表格中的哪个单元格。

代码:

var page = require('webpage').create();

var fs = require('fs');

var testindex = 0, loadInProgress = false;

page.onConsoleMessage = function(msg) {

console.log(msg);

};

page.onLoadStarted = function() {

loadInProgress = true;

console.log("load started");

};

page.onLoadFinished = function() {

loadInProgress = false;

console.log("load finished");

};

var steps = [

function() {

//Load Login Page

page.open("http://www.website.com/memberlist.php");

},

function() {

//Enter Credentials

page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {

page.evaluate(function() {

$("input[name='username']").val("login");

$("input[name='password']").val("password");

$("input[value='Log in']").click();

console.log("form filled in"); //works

});

var markup = page.content;

console.log(markup);

page.render("form filled.png"); //works

});

},

function() {

// Output content of page to stdout after form has been submitted

page.evaluate(function() {

var record = document.querySelectorAll("tr.row1"); //input.row1, input.row2

//console.log(inputs.length);

for (i=0; i < record.length; i++){

console.log(document.querySelectorAll('tr.row1')[i].outerHTML);

}

});

}

];

interval = setInterval(function() {

if (!loadInProgress && typeof steps[testindex] == "function") {

console.log("step " + (testindex + 1));

steps[testindex]();

testindex++;

}

if (typeof steps[testindex] != "function") {

console.log("test complete!");

page.render('export.png'); //works. it's a screenshoot in a newly opened webpage already after succesful log in.

phantom.exit();

}

}, 10000);

2014-03-04

Marcin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值