2015-03-13 2 views
1

Ниже JavaScript ниспадающее, из которого я хочу, чтобы выбрать опцию «Все вакансии» через селеном WebDriver:Выделить javascript с помощью селена?

<div id="resume_freshness_container"> 
<div class="dropdown_small_wrapper"> 
<div class="left">Last 6 Months</div> 
           <div class="right"><img class="clip_image" src="http://media.monsterindia.com/v2/recruiter/2.1/new_search/newlook_combined.png"></div> 
           <div class="clear_both"></div> 
           </div></div> 
<script language="javascript"> 
       jQuery(document).ready(function(){ createSingleSelectCombo({id:'selDay',valueVariableName:'day',tabindex:'62',label:"",preSelected:"180",replaceWithId:'resume_freshness_container',width:'216',heightOptions:'height:240px;overflow-y:auto',animateScroll:true, 
       options:[{id:'1',values:"in last 1 day"}, 
       {id:'3',values:"in last 3 days"},    
       {id:'7',values:"in last 7 days"},    
       {id:'15',values:"in last 15 days"},    
       {id:'30',values:"in last 1 month"},    
       {id:'90',values:"in last 3 months"},     
       {id:'180',values:"in last 6 months"},    
       {id:'360',values:"in last 12 months"},    
       {id:'540',values:"in last 18 months"}, 
       {id:'9999',values:"All Resumes"}, 
       {id:'4-7',values:"4-7 days"}, 
       {id:'8-15',values:"8-15 days"}, 
       {id:'16-30',values:"16-30 days"}, 
       {id:'31-90',values:"1-3 months"}, 
       {id:'91-180',values:"3-6 months"}, 
       {id:'181-360',values:"6-12 months"}, 
       {id:'361-540',values:"12-18 months"}, 
       {id:'541-9999',values:"Only older than 18 months"} 

       ]}); 


       borderTopSingleSelect({container:'resume_freshness_container',afterId:'10'}); 

      }); 


</script> 

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

Select select = new Select(driver.findElement(By.id("resume_freshness_container"))); 
select.deselectAll(); 
select.selectByVisibleText("All Resumes"); 

Я также попытался selecing его с идентификатором «selDay», но оба раза он дал мне то же самое исключение, которое я перечисленных ниже

Exception in thread "main" org.openqa.selenium.support.ui.UnexpectedTagNameException: Element should have been "select" but was "div" 

* Я новичок в селен так любезно помочь мне знать, где я неправильно *

ответ

2

Да, вы не можете подойти к нему с Select класса - это специально для select->option HTML структур.

Вы должны сначала найти элемент с id="selDay", нажмите на него, найдите элемент с «Все резюме» текст и нажмите на него:

WebElement selDay = driver.findElement(By.id("selDay")); 
selDay.click(); 

WebElement allResumes = selDay.findElement(By.xpath("//*[.=\"All Resumes\"]")); 
allResumes.click(); 
+0

Спасибо большое за помощь и делать это так, вы сказали, что это работает, но даже после вызова «allResumes.click();» значение не выбрано. Он подсвечивается, но при отправке формы значение по умолчанию, которое «в последние 6 месяцев» проходит, тогда как я хочу, чтобы «Все резюме» были переданы – Yatin

+0

Я также проверил «allResumes.isSelected()», который возвращает «false» – Yatin

+0

@ YatinGrover просто выстрел в темноте, вы можете повторить клик два раза? – alecxe

Смежные вопросы