2015-08-10 3 views
0

J'ai un SelectList avec le HTML:option à partir SelectList à l'aide watin question

<select style="background-color: rgb(255, 255, 255);" id="advFindE_fieldListFLDCTL" class="ms-crm-SelectBox" Sort="ascending" defaultSelected="-1"> 
<optgroup id="fld" label="Fields"> 
<option title="Case" value="il_caseid" datatype="lookup" namemaxlength="200" nameattr="il_caseidname" lookupstyle="single" lookuptypenames="il_protectionworksheet:10093:Protection Worksheet" lookuptypes="10093">Case</option> 
<option title="Created By" value="createdby" datatype="lookup" namemaxlength="320" nameattr="createdbyname" lookupstyle="single" lookuptypenames="systemuser:8:User" lookuptypes="8">Created By</option> 
... 
<optgroup id="ent" label="Related"> 
... 
</optgroup></select> 

Et pour la vie de moi je ne peux pas sélectionner le « créé par » l'option par Watin. Je ne suis pas sûr si c'est à cause des éléments optgroup ou quoi. J'ai essayé presque everyway je peux penser comme:

advancedFindWindow.Frame(CRMConstants.contentIFrame).SelectList("advFindE_fieldListFLDCTL").Option("Created By").Select(); 

ou

advancedFindWindow.Frame(CRMConstants.contentIFrame).SelectList("advFindE_fieldListFLDCTL").Option("Created By").Click(); 

ou

advancedFindWindow.Frame(CRMConstants.contentIFrame).Div("advFindE_fieldListFLDLBL").Focus(); 
advancedFindWindow.Frame(CRMConstants.contentIFrame).Div("advFindE_fieldListFLDLBL").Click(); 
Thread.Sleep(250); 
advancedFindWindow.Frame(CRMConstants.contentIFrame).SelectList("advFindE_fieldListFLDCTL").Focus(); 
advancedFindWindow.Frame(CRMConstants.contentIFrame).SelectList("advFindE_fieldListFLDCTL").Click(); 
SendKeys.SendWait("Created By"); 
Thread.Sleep(1000); 
SendKeys.SendWait("{ENTER}"); 

Cependant, aucun d'entre eux semblent fonctionner. La dernière tentative sélectionne une option mais elle sélectionne une option complètement différente pour une raison quelconque. Je suis complètement désemparé. Toutes les idées seraient utiles.

+0

Essayez cette solution: [enter description du lien ici] [1] [1]: http://stackoverflow.com/questions/15236339/select-each-item-in- dropdown-list-using-watin –

Répondre

0

Ce sera beaucoup plus facile pour vous si vous sélectionnez les éléments en fonction de la valeur car ceux-ci ont tendance à changer beaucoup moins que le texte lui-même. Le changement est assez simple:

advancedFindWindow.Frame(CRMConstants.contentIFrame).SelectList("advFindE_fieldListFLDCTL").SelectByValue("createdby"); 

Si cela ne fixe pas votre problème, s'il vous plaît indiquer la page que vous essayez d'utiliser et je vais créer le code pour vous de sélectionner l'option correcte.