从下拉元素中选择选项不可见

Select option from dropdown-element is not visible

本文关键字:选项 选择 元素      更新时间:2024-02-15

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

我正在研究硒网络驱动程序。下面的代码工作不正常。是否有用于选择不可见元素的示例代码。

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即可正常工作

此外,你应该如何从不可见的下拉列表中进行选择?没有什么可以点击

所选属性是布尔属性。语法为<option selected>。所以不用"" 试试这个

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

尝试此代码

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

我的错别字把"w"answers"w"放错了地方请试试这个

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

se.selectByValue("week");

您只能与网页上可见的元素进行交互。你当然可以得到不可见的元素(或它的一部分),但你不能对它做任何事情。如果你想与这个Select元素交互,你首先需要确保它是可见的(Select元素的显示属性),这样你就可以与它交互。