增加URL中的值,以便从paginatied的属性中解析数据

我正在研究Greasemonkey脚本,并想从属性中计算一个特定的值。 问题是,我想要的属性值是分页的。 我已经尝试更改URL以查看它是否可以在一个页面中列出所有内容,但没有运气。 它始终限制为每页只有40个视图。

我想知道实现这一目标的最佳方法是通过使用ifthen语句增加URL中的值。

例如,如果存在某个元素(.standard-row),则URL中的start = 0将递增40以开始= 40 ,然后自动重新加载递增的URL并再次扫描,如果特定元素(.standard- row)再次出现,再增加40, start = 80 。 一直存储属性值从每个页面获取它。

当特定元素(.standard-row)不再可见时,它将移动到计算它收集的属性值。

下面是我试图增加的URL。 我要增加的URL部分是“ start = ”。

https://play.google.com/store/account?start=0&num=40 

下面列出的代码是我用来计算属性值的代码。 它适用于一个页面,但是,我想从分页页面中获取所有属性值。 如果可能的话。

 var total = 0; $("#tab-body-account .rap-link").each(function() { var price = +($(this).attr("data-docprice").replace(/[^\d\.]/g, "")); total += price; }); $('.tabbed-panel-tab').before('
*Combined Value: $'+ total.toFixed(2) +'
');

提前感谢任何建议。

使用GM_setValue()GM_getValue()来存储页面之间的总数。 检查start参数的状态以及是否存在.standard-row元素。

像这样的东西:

 var startParam = location.search.match (/\bstart=(\d+)/i); if (startParam) { var totalPrice = 0; var startNum = parseInt (startParam[1], 10); if (startNum === 0) { GM_setValue ("TotalPrice", "0"); } else { totalPrice = parseFloat (GM_getValue ("TotalPrice", 0) ); } $("#tab-body-account .rap-link").each( function () { var price = $(this).attr ("data-docprice").replace (/[^\d\.]/g, ""); if (price) { price = parseFloat (price); if (typeof price === "number") { totalPrice += price; } } } ); //console.log ("totalPrice: ", totalPrice.toFixed(2) ); $('.tabbed-panel-tab').before ( '
*Combined Value: $'+ totalPrice.toFixed(2) +'
' ); GM_setValue ("TotalPrice", "" + totalPrice); if ( $(".standard-row").length ) { startNum += 40; var nextPage = location.href.replace ( /\bstart=\d+/i, "start=" + startNum ); location.assign (nextPage); } }


注意:
务必将@grant指令用于GM_函数。 像这样:

 // ==UserScript== // @name _YOUR SCRIPT NAME // @include http://YOUR_SERVER.COM/YOUR_PATH/* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js // @grant GM_setValue // @grant GM_getValue // ==/UserScript==