Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将特定的HTML属性值保存到csv文件?_Javascript_Html_Csv_Phantomjs - Fatal编程技术网

Javascript 如何将特定的HTML属性值保存到csv文件?

Javascript 如何将特定的HTML属性值保存到csv文件?,javascript,html,csv,phantomjs,Javascript,Html,Csv,Phantomjs,这是我在这里的第一篇帖子,所以要温柔 我的脚本应该打开论坛页面,填写登录/通过字段,提交表单,并保存新打开的用户、电子邮件等页面列表中的特定数据。 一旦我提交表单,我需要等待大约5-10秒,所以我的超时时间相当大。 我非常感谢Vijay,因为我从他在这篇文章中的回答开始: 仅出于测试目的,我将console.log网站内容记录两次:一次在登录前,一次在登录后。它也起作用 用户列表的HTML内容由许多元素组成。 其中一个看起来像修剪过的所有样式、类等: <tr> <td c

这是我在这里的第一篇帖子,所以要温柔

我的脚本应该打开论坛页面,填写登录/通过字段,提交表单,并保存新打开的用户、电子邮件等页面列表中的特定数据。 一旦我提交表单,我需要等待大约5-10秒,所以我的超时时间相当大。 我非常感谢Vijay,因为我从他在这篇文章中的回答开始:

仅出于测试目的,我将console.log网站内容记录两次:一次在登录前,一次在登录后。它也起作用

用户列表的HTML内容由许多元素组成。 其中一个看起来像修剪过的所有样式、类等:

<tr>
  <td class="gen" align="center">
    <a href="mailto:smith@gmail.com">[code for img]</a>
  </td>
  <td class="gen" align="center">
    <a href="www.website.com">[code for img]</a>
  </td>
  //many tds
</tr>
TDs和TRs没有ID或name属性。有几个列,但我想保存到csv,只有其中的几个。如果因为没有字段ID而无法保存,我可能会将所有内容保存到csv,但这是一个不太理想的解决方案。 我想通过查找“mailto”并保存“just”来确定所需的数据smith@gmail.com”他说

我不知道如何不仅将它保存到csv,而且让脚本知道哪些数据应该到达电子表格中的哪个单元格

代码:


您可以创建一个表示csv文件内容的字符串,然后根据使用数据URI来允许下载

要获取表的csv表示形式,请执行以下操作:

function tableToCSV(tabID) {
   var csvLines = [];
   var tabEl = document.getElementById('tabID');
   var rows = tabEl.getElementsByTagName('tr');
   for(var row = 0; row < rows.length; ++row) {
      var cells = rows[row].getElementsByTagName('td');
      var rowValues = [];
      for(var cell = 0; cell < cells.length; ++cell) {
         var cellText = cells[cell].innerText;
         // could escape commas here
         rowValues.push(cellText);
      }
      csvLines.push(rowValues.join(','));
   }
   return csvLines.join("\n");
}
function tableToCSV(tabID) {
   var csvLines = [];
   var tabEl = document.getElementById('tabID');
   var rows = tabEl.getElementsByTagName('tr');
   for(var row = 0; row < rows.length; ++row) {
      var cells = rows[row].getElementsByTagName('td');
      var rowValues = [];
      for(var cell = 0; cell < cells.length; ++cell) {
         var cellText = cells[cell].innerText;
         // could escape commas here
         rowValues.push(cellText);
      }
      csvLines.push(rowValues.join(','));
   }
   return csvLines.join("\n");
}