从dropdown-element中选择选项不可见

时间:2013-12-04 04:13:44

标签: javascript jquery html selenium selenium-webdriver

如果元素不可见,请任何人都可以帮助我从下拉列表中选择选项。 这是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>

正在研究selenium 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,那里的元素不可见。任何人都可以建议我如何使元素可见并选择选项。

6 个答案:

答案 0 :(得分:2)

在这里,为了选择选项,我试图使用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);

答案 1 :(得分:0)

您不需要="",只需selected即可正常

另外,您如何从不可见的下拉列表中选择?没有什么可点击的

答案 2 :(得分:0)

所选属性是布尔属性。语法为<option selected>。所以请在没有""

的情况下尝试此操作
<option value="month" selected>Month</option>

答案 3 :(得分:0)

试试这段代码

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

se.selectByVisibleText("week")

答案 4 :(得分:0)

我的错误,它的拼写错误错误地将“w”与“W”放错了地方  请试试这个

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

se.selectByVisibleText("Week");

se.selectByValue("week");

答案 5 :(得分:0)

您只能与网页上可见的元素进行互动。你肯定可以得到不可见的元素(或它的一部分),但你不能用它做任何事情。如果要与此Select元素进行交互,首先需要确保它是可见的(Select元素的显示属性),以便您可以与它进行交互。