背景故事 我希望通过实时添加玩家的统计数据来改进Fantasy Football网页。我们假设我们使用this页面作为参考。对于每个玩家,它列出了他们所扮演的位置(即QB,WR等)以及他们所扮演的团队。
我当前的代码: @BrockAdams昨天 answered my question ,能够组建一个包含团队名称,职位和排名的表格。以下是该表的示例:
我想要完成的是根据对方球队和我的球员位置查找表中的排名,并将其添加到字符串的末尾。
我做了什么:
可以使用document.querySelectorAll('span[class="Fz-xxs"]')[#].innerText.split(" - ").slice(-1)[0]
找到包含我的玩家位置的字符串,其中#
介于0
和33
之间
可以使用document.querySelectorAll('a[class="F-reset"]')[#].innerText.split(" ").slice(-1)[0]
找到包含反对团队的字符串,其中#
再次位于0
和33
之间
问题: 我的问题是,如何根据我的球员位置和对方球队修改我的脚本以将排名#附加到字符串的末尾?
我发现的一个小问题是,只要用户加载幻想页面,我的脚本就会重新获取所有团队的位置+排名,即使他们每周只更改一次。是否有一种很好的方法可以将值存储在浏览器中,并且每周只更新一次?
这是最终结果应该是什么样子的图片。这是去年创建的一个脚本,但由于雅虎修改了他们的网站,旧脚本不再有效。
编辑:以下是现有HTML代码的一部分。
<td class="Ta-start player Ta-start Bdrx">
<div class="Ov-h Mx-a">
<div>
<div class="Grid-bind-end">
<span class="player-status Grid-u Lh-xs">
<a id="playernote-25718" href="http://sports.yahoo.com/nfl/players/25718/news" target="sports" class="playernote Ta-start yfa-icon Z-1 playernote-recent"><span class="ysf-player-icon ysf-player-icon-notes yfa-icon playernote-recent" title="Player notes">Player Note</span></a>
</span>
<div class="ysf-player-name Nowrap Grid-u Relative Lh-xs Ta-start"><a class="Nowrap" href="http://sports.yahoo.com/nfl/players/25718" target="sports">R. Tannehill</a> <span class="Fz-xxs">Mia - QB</span> </div>
</div>
<div class="Grid-bind-end">
<span class="ysf-player-status F-injury Fz-xxs Grid-u Lh-xs"></span>
<div class="ysf-player-detail Nowrap Grid-u Fz-xxs Lh-xs Ta-start"><span class="ysf-game-status "><a class="F-reset" href=".../miami-dolphins-washington-redskins.../" target="sports" onclick="pop(this)">Sun 10:00 am @ Was</a></span></div>
</div>
</div>
</div>
</td>
代码所做的唯一修改就是将Sun 10:00 am @ Was
更改为Sun 10:00 am @ Was - 1
。上面的截图应该清楚。它将修改的页面是This one。
Edit2:我在 jsFiddle 中制作了一个小版本,但我无法将其添加到Brock创建的greasemonkey脚本中。