java - 是否可以使用 Selenium 动态创建链接并单击它?
问题描述
假设有一个网站使用 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>
将 Selenium 与 Java 一起使用,是否可以动态生成链接,例如
<a class="paginate" id="p100">100</a>
并点击,直接跳转到第100页?
解决方案
看看这是否有效: -
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']
推荐阅读
- python - 如何在numpy中通过quasi-mont carlo(QCM)技术生成高维高斯向量
- apache-poi - 尝试使用带有 Serenity 和 Cucumber 的 ApachePOI 打开 Excel
- python - 无法控制不透明度的值
- python - 就地改组列表的一部分
- lua - 打印存储在 LUA 变量中的列表
- android - adb pull 不创建拉文件夹
- visual-studio - Visual Studio for Mac 上的 Xamarin - 无法加载情节提要
- javascript - react-redux 中的异步请求使用 async/await
- entity - 实体/聚合中的 DDD 可重用功能
- bash - 如何在 Automator 中将多个变量从 Shell Script 传递到 AppleScript?