У меня есть открытый url , где я пытаюсь проверить список зон (восток, запад и т. Д.) И список штатов (штатов) в каждой зоне.Раскрывающийся список зон приводит к раскрытию состояний.Оба выбранных выпадающих списка имеют JavaScript.Я написал следующий код, но этот код возвращает мне состояния первой зоны для каждой последующей зоны.Не удалось получить правильные состояния для зоны.
WebElement zoneDropDownElement = driver.findElement(By.xpath("//select[@id='ddlDealerZone'] | //select[@name='ddlDealerZone']"));
Select zoneDropDown = new Select(zoneDropDownElement);
//Get all options
List<WebElement> zdd = zoneDropDown.getOptions();
for (int j = 0; j < zdd.size(); j++) {
System.out.println(zdd.get(j).getText());
//zoneDropDown.selectByIndex(j);
zoneDropDown.getOptions().get(j).click();
jse.executeScript("$(arguments[0]).change();",zoneDropDown.getOptions().get(j));
WebElement stateDropDownElement = driver.findElement(By.xpath("//select[@id='ddlDealerState'] | //select[@name='ddlDealerState']"));
//stateDropDownElement.click();
jse.executeScript("$(arguments[0]).change();", driver.findElement(By.xpath("//select[@id='ddlDealerState'] | //select[@name='ddlDealerState']")));
Select stateDropDown = new Select(stateDropDownElement);
List<WebElement> sdd = stateDropDown.getOptions();
for (int k = 0; k < sdd.size(); k++) {
System.out.println(" " + sdd.get(k).getText());
}
click () должен был запустить метод javascript _doPostBack (zone, '').Следующее тоже не помогло.
jse.executeScript("_doPostBack(arguments[0],'');", zdd.get(j).getText());
Я получаю следующий вывод.Тот же набор состояний повторяется для северной и восточной зоны
North
Chandigarh
Delhi
Haryana
Himachal Pradesh
Jammu and Kashmir
Punjab
Rajasthan
Uttar Pradesh
Uttrakhand
East
Chandigarh
Delhi
Haryana
Himachal Pradesh
Jammu and Kashmir
Punjab
Rajasthan
Uttar Pradesh
Uttrakhand