2016-09-20 2 views
0
Select se = new Select(driver.findElement(By.xpath(".//*[@id='33629']/div/div[1]/div[2]/div[1]/select"))); 
se.selectByIndex(7); 
driver.findElement(By.xpath(".//*[@id='33629']/div/div[1]/div[2]/div[1]/select/option[8]")).click(); 

Приведенный выше код не работает, пожалуйста, помогитекак выбрать выпадающий в веб-драйвера slenium

Ошибка возвращается:

Exception in thread "main" org.openqa.selenium.NoSuchWindowException: no such window: target window already closed from unknown error: web view not found 
+0

Приведенный выше код не работает? пожалуйста, помогите кому-нибудь .. – muthubala

+0

Просьба указать ошибку, которая возникает в результате этого, а также желаемое поведение. – techydesigner

+0

Исключение из потока «main» org.openqa.selenium.NoSuchWindowException: нет такого окна: целевое окно уже закрыто от неизвестной ошибки: веб-просмотр не найден – muthubala

ответ

1

org.openqa.selenium.NoSuchWindowException: no such window

Средства браузер закрывается, когда вы пытаетесь взаимодействовать с ним. Удалите driver.close() из своего кода и поместите его только после того, как вы закончите все взаимодействия с браузером.

Edit

Если вам нужно вернуться к родительскому окну после закрытия окна использования детского driver.switchTo() снова

// get parent window ID 
String parentHandle = driver.getWindowHandle(); 

// switch to the new window 
for (String handle : driver.getWindowHandles()) { 
    if (!handle.equals(parentHandle)) 
    { 
     driver.switchTo().window(handle); 
    } 
} 

//do something with the new window 

// switch back to the old window 
driver.close(); 
driver.switchTo().window(parentHandle); 
+0

Спасибо, что выложите его рабочий ji – muthubala

+0

Простите, босс, что driver.close только для дочернего окна, только для чего нажмите родительское окно? – muthubala

+0

Почему не щелкните родительское окно? – muthubala

-2

, как я вижу здесь поле выпадающий присутствует в div. я думаю, что с выпадающим списком кода был найден, но вы не можете выбрать значение, присутствующее в выпадающем списке. Далее следуют ниже код

WebDriverWait wait = new WebDriverWait(d, 10); 
Actions builder = new Actions(d); 

WebElement selectvalue = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("your drop down xpath value"))); 
builder.mouse.mouseMove(((Locatable)selectvalue).coordinates);  
selectvalue.click(); 

WebElement option = wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("locator value of dropdown value(your dropdown value)"))); 
builder.mouse.mouseMove(((Locatable)option).coordinates); 
option.click(); 
System.out.println("dropdown value slected..."); 
+0

Выпадающее меню находится в теге 'select', а не' div'. Нет никаких оснований делать все это, когда есть класс 'Select' для обработки выпадающих списков. Кроме того, ваш ответ не имеет ничего общего с исключением, которое получил OP. – Guy

+0

Пожалуйста, помогите мне с правильным кодом – muthubala

+0

Да раньше этого кода – muthubala

-1
windowIdbefore = driver.getWindowHandle(); 
System.out.println(windowIdbefore); 
Set<String> windowid = driver.getWindowHandles(); 
for (String string : windowid) { 
    System.out.println(string); 
    driver.switchTo().window(string); 
    // enter code here 
} 
WebDriver driver=new FirefoxDriver(); 
Select s=new Select(driver.findElement(By.xpath("xpathExpression"))); 
s.selectByVisibleText("text"); 
s.selectByValue("value"); 
s.selectByIndex(1); 
Смежные вопросы