2016-08-27 3 views
0

Нужна помощь по идентификации элементов.Идентифицировать WebElements с уникальными идентификаторами

Login : http://admin-demo.nopcommerce.com/ 
uname : [email protected] 
pass : admin 

Click > Catalog > Categories > Add New 

У меня возникли трудности с идентификацией xpaths для ниже, поскольку нет уникальных идентификаторов.

xpath to select value for limited to customer roles 
xpath to select value for limited to store 

Ваши объяснения помогут мне узнать, как писать xpaths для webelements, где нет уникальных идентификаторов.

ограничивается роли клиента

<div class="k-multiselect-wrap k-floatwrap" unselectable="on"> 
<ul id="SelectedCustomerRoleIds_taglist" class="k-reset" unselectable="on" role="listbox"/> 
<input class="k-input k-readonly" style="width: 25px" accesskey="" role="listbox" aria-expanded="false" tabindex="0" aria-owns="SelectedCustomerRoleIds_taglist SelectedCustomerRoleIds_listbox" aria-disabled="false" aria-readonly="false" aria-busy="false"/> 
<span class="k-icon k-loading k-loading-hidden"/> 
</div> 

<select id="SelectedCustomerRoleIds" name="SelectedCustomerRoleIds" multiple="multiple" data-role="multiselect" style="display: none;" aria-disabled="false" aria-readonly="false"> 
<option value="1">Administrators</option> 
<option value="2">Forum Moderators</option> 
<option value="4">Guests</option> 
<option value="3">Registered</option> 
<option value="5">Vendors</option> 
</select> 

ограничен для хранения

<div class="k-multiselect-wrap k-floatwrap" unselectable="on"> 
<ul id="SelectedStoreIds_taglist" class="k-reset" unselectable="on" role="listbox"/> 
<input class="k-input k-readonly" style="width: 25px" accesskey="" role="listbox" aria-expanded="false" tabindex="0" aria-owns="SelectedStoreIds_taglist SelectedStoreIds_listbox" aria-disabled="false" aria-readonly="false" aria-busy="false"/> 
<span class="k-icon k-loading k-loading-hidden"/> 
</div> 

<select id="SelectedStoreIds" name="SelectedStoreIds" multiple="multiple" data-role="multiselect" style="display: none;" aria-disabled="false" aria-readonly="false"> 
<option value="1">nopCommerce demo store</option> 
<option value="2">Sample store 2</option> 
</select> 
+0

Не могли бы вы поделиться HTML здесь ?? –

+0

Добавил html в мой пост. – Bimlesh

+0

Почему вы идете в xpath здесь, если можете просто найти его, используя 'id' ?? –

ответ

0

Вы должны попробовать, как показано ниже: -

WebDriverWait wait = new WebDriverWait(driver,10); 
  • Для клиентов роль выпадающий: -

    wait.until(ExpectedConditions.presenceOfElementLocated(By.id("SelectedCustomerRoleIds_taglist"))).click(); 
    
    Select customers = new Select(wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("SelectedCustomerRoleIds_taglist")))); 
    customers.selectByVisibleText("Administrators"); 
    
  • Для ограниченного для хранения выпадающего списка: -

    wait.until(ExpectedConditions.presenceOfElementLocated(By.id("SelectedStoreIds_taglist"))).click(); 
    
    Select store = new Select(wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("SelectedStoreIds")))); 
    store.selectByVisibleText("nopCommerce demo store"); 
    
+1

Спасибо .. это сработало :) – Bimlesh

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