簡體   English   中英

從下拉元素中選擇選項不可見

[英]Select option from dropdown-element is not visible

如果該元素不可見,請任何人都可以幫助我如何從下拉菜單中選擇選項。 這是html標記:

<select id="visualizationId" style="width: 120px; display: none;" name="visualization">
<option value="day">Day</option>
<option value="week">Week</option>
<option selected="" value="month">Month</option>

我正在開發硒webdriver。 下面的代碼無法正常工作。 是否有任何示例代碼來選擇不可見元素。

Actions actions1 = new Actions(driver);
WebElement dBox1= ((new WebDriverWait(driver,60)).until(ExpectedConditions.elementToBeClickable(By.id("visualizationId"))));
selectByVisibleText("week");
actions1.moveToElement(dBox1);
actions1.click();
actions1.perform();

使用以下行時,也會出現錯誤:元素當前不可見,因此可能無法與命令持續時間或超時進行交互:32毫秒

Select se=new Select(driver.findElement(By.id("visualizationId")));
se.selectByVisibleText("Week");

要么

se.selectByValue("week");

請查看html,那里的元素是不可見的。 誰能建議我如何使元素可見並選擇選項。

在這里,為了選擇選項,我嘗試使用javascript(javascript,因為它允許您與隱藏的元素進行交互)單擊元素。 以下是代碼,請嘗試。 我不確定代碼和語法(我不是Java專家),仍然可以使用邏輯。

WebElement elementToSelect = driver.findElement(By.xpath(".//select[@id='visualizationId']/option[text()='Day']")

JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", elementToSelect);

您不需要="" ,只要selected就可以了

此外,您應該如何從不可見的下拉列表中進行選擇? 沒有什么可點擊的

selected屬性是一個布爾屬性。 語法為<option selected> 因此,只需嘗試不帶""

<option value="month" selected>Month</option>

試試這個代碼

Select se=new Select(driver.findElement(By.id("visualizationId")));

se.selectByVisibleText("week")

我的錯是它的錯字錯誤將“ w”與“ W”放錯了,請嘗試此操作

Select se=new Select(driver.findElement(By.id("visualizationId")));

se.selectByVisibleText("Week");

要么

se.selectByValue("week");

您只能與網頁上可見的元素進行交互。 您當然可以得到不可見的元素(或元素的一部分),但是您不能對其做任何事情。 如果要與此Select元素進行交互,則首先需要確保它是可見的(Select元素的display屬性),以便可以與其進行交互。

暫無
暫無

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

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