![](/img/trans.png)
[英]Navigating through Fragments in android without adding it into backstack
[英]Navigating through pagination with Selenium adding items to a HashMap
我在結果頁面上有一個WebElement列表,需要將其提取並添加到HashMap中。
網頁上的分頁如下:1,2,3,4,5,Next。 這些都是鏈接,單擊“下一步”時,它將導航到第2頁並在分頁上顯示6,同時刪除1,依此類推。
List<WebElement> pagination = driver.findElements(By.xpath("//div[@class='pagination-container']//a"));
int s = pagination.size();
for(int i=0;i<=s;i++){
this.getAuthors();
driver.get(Constants.url);
Thread.sleep(5000);
pagination = driver.findElements(By.xpath("//div[@class='pagination-container']//a"));
pagination.get(i).click();
Thread.sleep(5000);
}
getAuthors()方法遍歷頁面上的必要元素,並將其添加到HashMap中。 因此它將遍歷分頁列表中的所有頁面,直到完成。 它將返回到第1頁,該頁另存為Constants.url。
它進入第5頁,但隨后陷入困境,我不確定如何在其他示例6、7、8中進行編碼,並每次單擊“下一步”按鈕來訪問它們,並將它們添加到分頁列表中。
注意:那里的Thread.sleep方法用於啟用頁面時間以加載頁面上的所有元素。
有任何想法嗎?
您可以執行以下操作,假設鏈接是您需要的<a>
html元素
1創建一個Web元素列表,例如<a>
元素driver.findElements(By.tagName("a"))
2從最后一步檢索的迭代列表,並檢查您需要單擊的特定鏈接的一些元信息,例如標題elements.get(i).getAttribute("title");
3比較標題是否是您所需要的標題if (title.equals("Next Page")) {
3發送點擊信號
這是一個代碼片段
new WebDriverWait(
driver, TIME_TO_WAIT).until(
ExpectedConditions.presenceOfElementLocated(
By.tagName("a")));
List<WebElement> elements = driver.findElements(By.tagName("a"));
for (int i = 0; i < elements.size(); i++) {
String title = elements.get(i).getAttribute("title");
if (title.equals("Next Page")) {
elements.get(i).click();
break;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.