2017-03-07 91 views
2

如何在selenium webdriver的下拉窗口中向下滾動?

<div id="boundlist-1277-listWrap" data-ref="listWrap" role="presentation" class="x-boundlist-list-ct x-unselectable x-no-touch-scroll x-scroll-container" style="overflow: auto; height: 298px;"> 
 
     <ul id="boundlist-1277-listEl" data-ref="listEl" class="x-list-plain x-scroll-scroller"> 
 
     <li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="0" data-recordid="99400" data-boundview="boundlist-1280">Assessment Completion - Returned To Functional Validation</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="1" data-recordid="99401" data-boundview="boundlist-1280">Assessment Completion - Workflow Ended</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="2" data-recordid="99402" data-boundview="boundlist-1280">Eligibility Assessment In Progress</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="3" data-recordid="99403" data-boundview="boundlist-1280">Functional Validation In Progress</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="4" data-recordid="99404" data-boundview="boundlist-1280">Functional Validation- Returned To Sponsor</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="5" data-recordid="99405" data-boundview="boundlist-1280">MEA - Workflow Ended</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="6" data-recordid="99406" data-boundview="boundlist-1280">Pending Assessment Completion</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="7" data-recordid="99407" data-boundview="boundlist-1280">Pending Eligibility Assessment</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="8" data-recordid="99408" data-boundview="boundlist-1280">Pending Pre-MEA</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="9" data-recordid="99409" data-boundview="boundlist-1280">Pending Technical Validation</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="10" data-recordid="99410" data-boundview="boundlist-1280">Pending Validation Planning</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="11" data-recordid="99411" data-boundview="boundlist-1280">Pre-MEA - Pending Sponsor Response</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="12" data-recordid="99412" data-boundview="boundlist-1280">Pre-MEA - Workflow Ended</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="13" data-recordid="99413" data-boundview="boundlist-1280">Pre-MEA in Progress</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="14" data-recordid="99414" data-boundview="boundlist-1280">Technical Validation - Returned To Sponsor</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="15" data-recordid="99415" data-boundview="boundlist-1280">Technical Validation - Workflow Ended</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="16" data-recordid="99416" data-boundview="boundlist-1280">Technical Validation In Progress</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item x-boundlist-item-over" tabindex="-1" data-recordindex="17" data-recordid="99417" data-boundview="boundlist-1280">Validation Finalized - Workflow Closed</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="18" data-recordid="99418" data-boundview="boundlist-1280">Validation Initiated - MDDT Upload In Progress</li> 
 
<li role="option" unselectable="on" class="x-boundlist-item" tabindex="-1" data-recordindex="19" data-recordid="99419" data-boundview="boundlist-1280">Validation Planning In Progress</li> 
 
     </ul> 
 
    </div>

Dropdown

如何在下拉列表中向下滾動?我想選擇下拉列表中的下拉值。但是我不能直接通過使用xpath來點擊它,因爲這個值被隱藏在我必須首先向下滾動的列表中。

我嘗試使用此代碼

WebElement element = driver.findElement(By.xpath("//li[text()='Validation Finalized - Workflow Closed']")); 
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);", element); 
Thread.sleep(500); 
+0

?你有沒有嘗試過使用select類的webdriver? – SelThroughJava

+0

你可以分享你的下拉菜單的HTML代碼嗎? –

+0

已經共享下拉菜單的html代碼。它包含div選項卡,所以無法使用select類 –

回答

0

您可以使用下面的代碼:你爲什麼要向下滾動

// Create an array of web element for all drop-down options 
List<WebElement> optionList = driver.findElements(By.xpath("//*[@id='boundlist-1277-listEl']/li")); 
// The option you mentioned in your example is stored at position #17 in an arrya so either you can manually enter the number or you can find it by running FOR lool 
((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView(true);", optionList.get(17)); 

// Other ther way that I preffer is: 
JavascriptExecutor je = (JavascriptExecutor) driver; 
je.executeScrpt("arguments[0].scrollIntoView(true);", optionList.get(17)); 
Thread.sleep(250); 
相關問題