2016-11-25 83 views
0

我需要選擇自動完成下拉在硒webdriver的地址。自動完成下拉選擇在硒webdriver

我已經加入了下拉框中的檢查元素源如下,

<head> 
<body> 
<input id="gridLogId" name="gridLogId" value="qOZcnJEE/G9A+fAN/C4PlA==" type="hidden"/> 
<div id="wrapper"> 
<div id="confirmation-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
<script id="subscriptiondetailTemplate" type="text/x-kendo-template"> # for (var i = 0; i < data.length; i++) { # <span class="kendoTooltip cursorpointer subs_IAM fa subs_#= data[i].PlanCode#" title="Plan description : #= data[i].PlanDesC#<br>Expiry on : #= data[i].ExpiryOnLabel #">#= data[i].PlanDesC#</span> # } # </script> 
<script> var subscriptionTemplate = kendo.template($('#subscriptiondetailTemplate').html()); </script> 
<style> body { overflow: hidden !important; } </style> 
<ul id="ui-id-1" class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all" tabindex="0" style="display: none;"/> 
<div class="k-list-container k-popup k-group k-reset" data-role="popup" style="display: none; position: absolute;"> 
<div id="Finyear_OWtyUEpDYnYyMFU9-list" class="k-list-container k-popup k-group k-reset" data-role="popup" style="display: none; position: absolute;"> 
<ul id="ui-id-2" class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all" tabindex="0" style="display: block; width: 444px; top: 742.85px; left: 460.133px;"> 
<li class="ui-menu-item" role="presentation"> 
<a id="ui-id-303" class="ui-corner-all" tabindex="-1">SYDNEY, New South Wales, Australia, 1001</a> 
</li> 
<li class="ui-menu-item" role="presentation"> 
<a id="ui-id-304" class="ui-corner-all" tabindex="-1">SYDNEY, New South Wales, Australia, 1002</a> 
</li> 
<li class="ui-menu-item" role="presentation"> 
<a id="ui-id-305" class="ui-corner-all" tabindex="-1">SYDNEY, New South Wales, Australia, 1003</a> 
</li> 
<li class="ui-menu-item" role="presentation"> 
<a id="ui-id-306" class="ui-corner-all" tabindex="-1">SYDNEY, New South Wales, Australia, 1005</a> 
</li> 
<li class="ui-menu-item" role="presentation"> 
<li class="ui-menu-item" role="presentation"> 
<li class="ui-menu-item" role="presentation"> 
<li class="ui-menu-item" role="presentation"> 
<li class="ui-menu-item" role="presentation"> 

我需要選擇「悉尼,新南威爾士,澳大利亞,1001」從自動完成框中的下拉值。請給我一些想法。我已經使用下面的代碼,但它不工作,

driver.findElement(By.id("ResidentialOrBusinessAddress_City")).sendKeys("Sydney"); 
     Thread.sleep(1000); 
     java.util.List<WebElement> autoSuggest = driver.findElements(By.partialLinkText("1001")); 
     driver.findElement(By.id("ResidentialOrBusinessAddress_Region")).sendKeys("NSW"); 
     Thread.sleep(1000); 
     java.util.List<WebElement> autoSuggest1 = driver.findElements(By.partialLinkText("1001")); 
     driver.findElement(By.id("ResidentialOrBusinessAddress_PostCode")).sendKeys("1001"); 
     Thread.sleep(1000); 
     java.util.List<WebElement> autoSuggest2 = driver.findElements(By.partialLinkText("1001")); 
     driver.findElement(By.id("ResidentialOrBusinessAddress_Country")).sendKeys("Australia"); 
     Thread.sleep(1000); 
     java.util.List<WebElement> autoSuggest3 = driver.findElements(By.partialLinkText("Australia")); 

請建議我如何獲得該值。我附上了頁面的屏幕截圖。 enter image description here

謝謝。

回答

1

請嘗試以下方法,它爲我工作

WebElement選擇= driver.findElement(By.id( 「UI-ID-2」));

List<WebElement> options = select.findElements(By.tagName("li")); 

    for (WebElement option1 : options) { 

    if("SYDNEY, New South Wales, Australia, 1001".equals(option1.getText().trim())) 

    option1.click(); 
    }  
+0

謝謝..它爲我工作..我非常厭倦了下拉選擇..我現在感覺好多了.. – user3836485