用于亚马逊德国站卖家税务发票自动选择下载的浏览器JavaScript代码

本文介绍了一种方法,通过编写JavaScript代码在浏览器控制台中实现自动筛选亚马逊德国站的卖家税务发票,仅选择税号以DE开头且供应商税号以LU开头且日期包含2023年的发票,并标记为黄色以便后续下载。作者使用了MicrosoftEdge和Firefox浏览器的示例代码。
摘要由CSDN通过智能技术生成

因为申报VAT,需要从亚马逊德国站后台(https://sellercentral.amazon.co.uk/tax/seller-fee-invoices)下载大量的卖家税务发票PDF文件,这些文件需要先进行筛选,满足税号以DE开头,发票那里以LU开头。
德国亚马逊卖家税务发票

因为亚马逊后台显示的发票是各种各样的,如果肉眼一个个去筛选再下载,看得眼花缭乱,很容易出错,而且很累。就想能不能编写一个浏览器插件自动下载符号条件的发票。开始编写了一个浏览器插件,允许效果不太好。在ChatGPT的提示下,直接把代码放到浏览器开发者模式中的控制台(Console)里运行,把这些符合条件的行标注成黄色,然后再手工点击“查看”按钮进行保存,这样最简单稳定。代码如下:

适合Microsoft Edge浏览器和Google Chrome浏览器:

//进入亚马逊德国站卖家后台税务发票下载页面:
//https://sellercentral.amazon.co.uk/tax/seller-fee-invoices
//打开Microsoft Edge浏览器的WEB开发工具,然后打开"控制台"或"Console",然后在里面复制粘贴下列Javascript代码,敲回车键代码开始运行
//
//pdf文件保存的快捷键是 Ctrl+S,窗口关闭的快捷键是Ctrl+W


function xy () {
  //Edge浏览器德国VAT发票下载自动选择选择需要的文件,包括税号以DE开头及供应商税号以LU开头
    const rows = document.querySelectorAll('.fba-core-data tbody tr');
    let totalRows = 0;
    let invoiceRows = 0;
    rows.forEach((row, index) => {
      setTimeout(() => {
        const taxpayerRegistration = row.querySelector('.info:nth-child(8)').innerText.trim();
        const supplierRegistration = row.querySelector('.info:nth-child(10)').innerText.trim();
        const endDate = row.querySelector('.info:nth-child(13)').innerText.trim();
  
        if (taxpayerRegistration.startsWith('DE') && supplierRegistration.startsWith('LU') && endDate.includes('2023')) {
          // 标记为黄色
          const viewButton = row.querySelector('.action button');
      if (viewButton) {
        //viewButton.click();  //自动打开“查看”链接按钮
        //
      }
          row.style.backgroundColor = 'yellow';
          invoiceRows+=1;
          console.log(`当前处理行号:${index},总共需要下载的发票数:${invoiceRows}`);
        }
      }, index * 100); // 每行间隔1秒
      //totalRows +=1;
      console.log(`${index}行全部处理完成`);
    });
    
  }
xy()  //执行函数

适合Firefox浏览器

// 下面代码适合于Firefox浏览器下载VAT发票
function xyz(){
  const rows = document.querySelectorAll('.fba-core-data tbody tr');
  let totalRows = 0;
  // 使用 forEach 遍历每一行
  rows.forEach((row,index) => {
    // 在这里执行对每一行的操作
    const taxpayerRegistration = row.querySelector('.info:nth-child(8)').innerText.trim();
          const supplierRegistration = row.querySelector('.info:nth-child(10)').innerText.trim();
          const endDate = row.querySelector('.info:nth-child(13)').innerText.trim();
    
          if (taxpayerRegistration.startsWith('DE') && supplierRegistration.startsWith('LU') && endDate.includes('2023')) {
            // 标记为黄色
            row.style.backgroundColor = 'yellow';
            totalRows+=1;
            console.log(`当前行号:${index}`);
          //
        }               
  });
  console.log(`总共发票数:${totalRows}`);
  }
xyz()

代码执行完后符合条件的行全部标注了醒目的黄色,直接点击右边的“查看”按钮下载保存即可:
在这里插入图片描述
本来还做了一个定时自动点击的功能,怕打开太多页面浏览器崩溃,就改成手动点击了。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值