如何使用Selenium单击此按钮

时间:2014-03-11 21:07:05

标签: r selenium selenium-webdriver

在网页上,页码按钮按以下代码组织:

<div id="sq-pagination">
  <span class="displaying-num">Displaying 31-60 of 281</span>
  <span>
    <a class="pageing_text_arrow" href="http://www.squawka.com/match-results?pg=1"> « First</a>
    <a class="pageing_text_arrow" href="http://www.squawka.com/match-results?pg=1"> « Prev</a>
    <a class="page-numbers" href="http://www.squawka.com/match-results?pg=1">1</a>
    <span class="page-numbers current">2</span>
    <a class="page-numbers" href="http://www.squawka.com/match-results?pg=3">3</a>
    <a class="page-numbers" href="http://www.squawka.com/match-results?pg=4">4</a>
    <a class="page-numbers" href="http://www.squawka.com/match-results?pg=5">5</a>
    <a class="page-numbers" href="http://www.squawka.com/match-results?pg=6">6</a>
    <a class="page-numbers" href="http://www.squawka.com/match-results?pg=7">7</a>
    <a class="page-numbers" href="http://www.squawka.com/match-results?pg=8">8</a>
    <a class="page-numbers" href="http://www.squawka.com/match-results?pg=9">9</a>
    <a class="page-numbers" href="http://www.squawka.com/match-results?pg=10">10</a>
    <a class="pageing_text_arrow" href="http://www.squawka.com/match-results?pg=3"> Next »</a>
    <a class="pageing_text_arrow" href="http://www.squawka.com/match-results?pg=10"> Last »</a>
    </span>
</div> 

我希望Selenium点击“下一页”页面(或第3页,也没关系)。但是,我无法弄清楚如何做到这一点。它似乎没有明显的xpath或elementId。这该怎么做? (代码来自此页面:http://bit.ly/1lwxxeN,这是我试图解决此问题的页面)。我不介意使用javascript代码,如果需要的话。我正在使用RSelenium,但其他解决方案也非常受欢迎(因此我可以尝试找出如何将解决方案转换为RSelenium)。

谢谢,彼得

3 个答案:

答案 0 :(得分:2)

此xpath选择器应该适合您:

//a[contains(text(),'Next')]

所以,你的代码看起来像这样:

driver.findElement(By.xpath("//a[contains(text(),'Next')]")).click();

答案 1 :(得分:1)

@Richard的好Xpath,无论如何下一页作为数字,你可以看到,只有当前选中的元素表示为{ {1}}具有特定类名的元素,其他是链接(<span>),因此您可以查询<a>并获取下一个链接,例如:

<span>

答案 2 :(得分:1)

查看这些XPATH是否有效:

对于'下一个&gt;&gt;'在最高分页下出现的链接:

//div[@id='upcoming-fixtures']/center/div[@id='sq-pagination']//a[contains(text(),'Next')]

对于'下一个&gt;&gt;'底部分页下的链接:

//div[@id='upcoming-fixtures']/center/center//div[@id='sq-pagination']//a[contains(text(),'Next')]