2016-08-17 2 views
1

Моего HtmlКак обрабатывать скрытые webelement в селене WebDriver с Явой

<div id="example-1-tab-1" class="responsive-tabs-panel" style="display: block;"> 
    <div class="freme_box"> 
    <iframe class="demo-frame" src="dropdown/default.html"> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <body> 
     <select> 
     <option selected="" value="">Please Select</option> 
     <option value="Afghanistan">Afghanistan</option> 
     <option value="Albania">Albania</option> 
     </select> 
    </body> 
    </html> 
    </iframe> 
    </div> 

Я хочу, чтобы выбрать значение из выпадающего списка, и я уже использовать выберите метод, но он не работает. Получение:

Элемент не найден Исключение.

Не знаете, как обращаться с этим элементом, который не виден. Любая помощь?

+0

Рассматривали ли вы тот факт, что выбор элемент находится в пределах iframe и переключается на iframe. – Grasshopper

+0

yes Я пробовал это, но я застрял в driver.switchTo(). Frame (0); Выберите sel = new Выберите (driver.findElement (arg0)), поскольку нет локатора, чтобы найти это – Ab123

+1

Что это за arg0, что вы проходят? Попробуйте выполнить поиск с помощью By.tagName («select»). – Grasshopper

ответ

1

На самом деле select элемент находится внутри iframe, как это видит в предоставленном HTML, так что вы должны переключиться, что iframe первый, прежде чем найти select элемент, как показано ниже: -

driver.switchTo().frame(driver.findElement(By.cssSelector("iframe.demo-frame"))); 

//Now find the dropdown 
Select select = new Select(driver.findElement(By.tagName("select")); 

select.selectByVisibleText("Afghanistan"); 
Смежные вопросы