为什么click()
不起作用?
网站:
String startPage = "http://www.domiporta.pl/mieszkanie/sprzedam?Localization=dolno%C5%9Bl%C4%85skie&PageNumber=24&SortingOrder=InsertionDate";
代码:
List<WebElement> RowsMain = driver.findElements(By.className("detail-card__heading"));
for(int i=0;i<RowsMain.size();i++){
driver.get(startPage);
List<WebElement> rows = driver.findElements(By.className("detail-card__heading"));
List<WebElement> cols=new ArrayList<WebElement>();
cols=rows.get(i).findElements(By.tagName("div"));
for(WebElement col:cols) {
col.click();
}
}
为什么点击不起作用?
答案 0 :(得分:0)
这是错误的,因为您导航出当前页面,因此DOM已被销毁。解决方案很简单,每次导航出页面时都会找到元素。请参阅下面的代码。
int rowCount = driver.findElements(By.className("detail-card__heading")).size();
for(int i=0; i<rowCount; i++){
List<WebElement> rows = driver.findElements(By.className("detail-card__heading"));
int colsCount = rows.get(i).findElements(By.tagName("div")).size();
for(int j=0;j<colsCount; j++) {
rows = driver.findElements(By.className("detail-card__heading"));
List<WebElement>cols = rows.get(i).findElements(By.tagName("div"));
cols.get(j).click();
driver.get(startPage);
}
}