是否可以使用 Selenium 动态创建链接并单击它?
Posted
技术标签:
【中文标题】是否可以使用 Selenium 动态创建链接并单击它?【英文标题】:Is it possible to dynamically create a link and click on it using Selenium? 【发布时间】:2021-08-21 10:56:18 【问题描述】:假设有一个网站使用 Ajax 调用动态加载数据。数据运行到 200 页,每页大约 50 行。分页是在底部生成的,就像
<div class="pagination">
<a class="paginate" id="previous">Previous</a>
<span>
<a class="paginate" id="p1">1</a>
<a class="paginate" id="p2">2</a>
<a class="paginate" id="p3">3</a>
<span class="ellipsis">…</span>
<a class="paginate" id="p200">200</a>
</span>
<a class="paginate" id="next">Next</a>
</div>
在Java中使用Selenium,是否可以动态生成链接如
<a class="paginate" id="p100">100</a>
点击它,直接跳转到第100页?
【问题讨论】:
【参考方案1】:看看这是否有效:-
Random rand = new Random();
int lowerBound = 1;
int upperBound = 11;
int pageNum = rand.nextInt((upperBound - lowerBound)+1)+lowerBound;
System.out.println("Page num generated "+pageNum);
String xpathStr = ".//a[@id='p"+pageNum+"']";
System.out.println(xpathStr);
driver.findElement(By.xpath(xpathStr)).click();
输出:
Page num generated 8
.//a[@id='p8']
【讨论】:
以上是关于是否可以使用 Selenium 动态创建链接并单击它?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Selenium 和 Java 单击具有 SVG 子项的链接?
我需要创建一个监视selenium执行的进程,如果在执行期间到达,将单击弹出窗口
Robot Framework Selenium For 循环单击导航链接失败并出现 StaleElementReferenceException