【发布时间】:2019-04-21 13:58:05
【问题描述】:
我想做的是: 1- 访问这个网站:http://www.emlakyonetim.com.tr/tr-TR/sitelerimiz, 2- 点击第一个下拉菜单 - 点击一个城市,点击第二个下拉菜单 - 点击一个县,点击第三个下拉菜单。
简而言之,第二个下拉项依赖于第一个,第三个下拉项依赖于第二个。
代码(不完整):
@Test
public void SiteCek() throws InterruptedException
{
driver.get("http://www.emlakyonetim.com.tr/tr-TR/sitelerimiz");
Thread.sleep(2000);
driver.findElement(By.id("select2-city-list-container")).click();
List<WebElement> elm = driver.findElements(By.xpath("//*[@class='select2-results__option']"));
for(int i = 1; i < elm.size(); i++)
{
By ID = By.id(driver.findElements(By.xpath("//*[@class='select2-results__option']")).get(i).getText());
System.out.println(ID);
driver.findElements(By.xpath("//*[@class='select2-results__option']")).get(i).click();
Thread.sleep(500);
}
}
在城市“ADANA”之后出现 java.lang.IndexOutOfBoundsException: Index: 2, Size: 0 错误。 如果我设法处理第一个错误,我将编写第二个和第三个 for 循环,所以现在的代码是这样的。
当问题解决后,我想首先获得所有城市。然后是每个城市的县。然后是每个县的站点。这必须根据城市列表、县列表和站点列表的大小动态完成。为此,我需要三个嵌套的 for 循环。毕竟,每个值都必须写在excel中。
【问题讨论】:
标签: java selenium-webdriver selenium-chromedriver