簡體   English   中英

從硒的隱藏下拉菜單中選擇一個選項

[英]Select an option from hidden drop down in selenium

大家好,我遇到了一個隱藏的選擇下拉菜單,其樣式設置為none的問題。

<div>
<select id="selectForm" style="width: 285px; display: none;" name="formId">
<option value="36784">EMAIL 4</option>
</select>
<div class="sbox sbox_1cbc5b38 selectForm" tabindex="0" style="width: 285px;">
<div class="sbox_sel">
<div class="sbox_seltext" contenteditable="false">Report</div>
<div class="sbox_arrow"/>
</div>
</div>
<a id="previewForm" class="preview-button"/>
</div>

當我在By.id中查找選擇標記時,元素變得不可見。 和當我嘗試單擊div時的相同錯誤。 我找到了一種使此下拉列表在jsExecutor中可見的方法。 這是我的代碼,以使該下拉列表可見以與之交互:

public static void BatchResults(String form){

WebDriverWait wait = new WebDriverWait(driver, 60);
JavascriptExecutor js = (JavascriptExecutor)driver;                                         
js.executeScript("document.getElementById('selectForm').style.display='block';");
WebElement selectFormElement =                    
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("selectForm")));
Select selectForm = new Select(selectFormElement);  
selectForm.selectByVisibleText(form);
js.executeScript("document.getElementById('selectForm').style.display='none';");  

}

@Test(priority = 1)
public void runTest() {
    String selectForm = "EMAIL 4";
    Main.BatchResults(selectForm);
}
}

我的問題是,在jsExecutor中,我將樣式設置為(style.display ='block';),這將我的下划線下拉到樣式下拉列表的頂部。 有沒有辦法在不使用jsExecutor的情況下選擇此隱藏的下拉列表,或者我應該使用其他什么選項? 同樣,在設置為阻止之后,我仍然無法從下拉菜單中選擇所需的選項,然后在選擇之后再無選擇

<ul class="sbox_opts sbox_fa9ea48e" style="width: 283px; top: 610.5px; 
left: 330.333px; max-height: 54.5px; display: none;">
<li class="sbox_opt">EMAIL 4</li>

</ul>

Selenium旨在以與用戶相同的方式瀏覽網頁。 您應該有一個可見元素,當與之互動(懸停/單擊)時,將顯示下拉菜單。 顯示下拉列表后,您可以與內容進行交互。
讓Selenium執行用戶必須執行的相同任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM