js下拉菜单默认值为当前年份,下拉菜单的选项为当前年份往前推5年
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js下拉菜单默认值为当前年份,下拉菜单的选项为当前年份往前推5年相关的知识,希望对你有一定的参考价值。
例如:今年在下拉菜单的默认值是2011-2012
参考技术A <BODY><select id="sel"></select>
</BODY>
<SCRIPT LANGUAGE="javascript">
window.onload = function()
var sel = document.createElement('select');
var date = new Date();
for(var i=0;i<5;i++)
var opt = document.createElement("option");
opt.value = i;
opt.innerhtml = (date.getYear()-i-1)+"-"+(date.getYear()-i);
sel.appendChild(opt);
document.body.appendChild(sel);
</SCRIPT>本回答被提问者采纳 参考技术B 电子钟???
验证下拉菜单的当前选择
【中文标题】验证下拉菜单的当前选择【英文标题】:Verifying current selection of a dropdown menu 【发布时间】:2015-02-06 11:48:32 【问题描述】:使用 Selenium Webdriver (Java)
当用户在另一个会话中返回该页面时,我需要验证从下拉菜单中选择的值是否已保存。
下拉菜单很简单,它只是改变搜索后每页显示的记录数。
值是 5、10、25、50 和 100。
使用 getText() 只返回数组中的值。我需要验证如果用户选择了 25,那么在返回此特定页面时该值是否相同。简单的断言语句在这里不起作用,因为值“25”可以出现在其他字段中。
我也尝试过 Select 的各种用法,但都没有成功。
如果有任何建议,我将不胜感激。如果我遗漏了任何关键信息,请随时指出,我会更新帖子。
【问题讨论】:
【参考方案1】:-- 这将在下拉列表中给出选定的选项
Select select = new Select(driver.findElement(By.xpath("//path_to_drop_down")));
WebElement option = select.getFirstSelectedOption()
String SelectedText = option.getText();
【讨论】:
【参考方案2】:你需要使用Select
类
IWebElement selectElement = driver.FindElement(By.Id("id"));
SelectElement selectedValue = new SelectElement(selectElement);
string selectedText = selectedValue.SelectedOption.Text;
我是用 C# 编写的。但是Java也相当接近。见this
编辑:
根据 api 文档,您应该使用 getFirstSelectedOption().getText()
而不是 SelectedOption.Text;
【讨论】:
【参考方案3】:查看following answer
Select select = new Select(driver.findElement(By.xpath("//path_to_drop_down")));
WebElement option = select.getFirstSelectedOption()
【讨论】:
感谢您的反馈。我按照你的建议做了,它做了我需要的。选择 select = new Select(driver.findElement(By.xpath("//*[@id='listingDetailJqGrid_toppager_center']/table/tbody/tr/td[8]/select"))); WebElement option = select.getFirstSelectedOption();现在它返回实际的元素属性。所选选项的索引为:[[[[FirefoxDriver:firefox on WINDOWS (4a0c1158-004e-4a48-843e-d2952e4af4ff)] -> xpath: //*[@id='listingDetailJqGrid_toppager_center']/table/tbody/tr /td[8]/select]] -> tag name: option] 我期待 25 或至少它的索引位置。 @JohnMcGrath 您需要使用select.getFirstSelectedOption( ).getText( );
来获取文本
感谢您的帮助。除了基本断言之外,很久没有这样做了。现在我被要求提供更详细的测试,我没有很多经验。这正是我所需要的。非常感谢,Saifur。以上是关于js下拉菜单默认值为当前年份,下拉菜单的选项为当前年份往前推5年的主要内容,如果未能解决你的问题,请参考以下文章
C# combox 设置显示下拉菜单的第一项,如图。还有下拉选项的索引怎么回事,所索引为零是菜单的第一个选项
ActiveAdmin :select 下拉菜单在开发中默认为当前值,但在生产中默认为空白