0

我正在使用 Greasekit,所以需要它在 Javascript 中。

我希望能够自动单击下面显示的链接25。但是,链接并不总是 25,有时(比如说)是 21 或 26 (取决于时事通讯的长度)。保持不变的是链接始终位于页面上的相同位置/位置。它总是之前Next >和之后的那个3

<table class="v_page_nav" border="0" cellpadding="5" cellspacing="0" width="100%">
<tr>
<td width="100%">Showing 1-25 of 610 Results</td>
<td><span style="color: #999999">< Previous</span> | Page:</td>
<td class="on">
<a href="/wine/newsletter?ie=UTF8&amp;page=1" id="pagination-page-1">1</a></td>
<td class="off">
<a href="/wine/newsletter?ie=UTF8&amp;page=2" id="pagination-page-2">2</a></td>
<td class="off">
<a href="/wine/newsletter?ie=UTF8&amp;page=3" id="pagination-page-3">3</a></td>
<td>...</td>
<td>
<a href="/wine/newsletter?ie=UTF8&amp;page=25" id="pagination-page-25">25</a></td>
<td>| <a href="/wine/newsletter?ie=UTF8&amp;page=2" id="pagination-next-link">Next ></a>      </td>
</tr>
</table>

正如我所说...链接并不总是 25,有时(例如) 13 或 29 (取决于时事通讯的时长)。保持不变的是链接始终位于页面上的相同位置/位置。它总是之前Next >和之后的那个3

我可以使用代码始终找到并单击相应的链接吗?

如果我在指导人类

我会先说 find table classv_page_nav 然后,向右扫视并寻找链接Next >。单击紧接其前面的链接:它将始终是一个数字(并且该数字将始终高于其左侧的数字)。

我如何在代码中实现相同的目标?

4

1 回答 1

1

获取页面上的所有锚点,遍历它们,然后在“Next”之前返回一个

function getPreviousLink(){
    var nextLink = document.getElementById('pagination-next-link'); 
    var links = document.getElementsByClassName('v_page_nav')[0].getElementsByTagName("a");

    for(var i=0; i < links.length; i++){
        if(links[i] == nextLink) { return links[i-1]; }
    }
}
于 2013-05-19T20:52:47.793 回答