【发布时间】:2012-01-29 08:55:58
【问题描述】:
我有一个类似的下拉菜单:
<select id="PlaceOfBirth">
<option value="">-- Please select --</option>
<option value="1">Somewhere</option>
<option value="2">Somewhere else</option>
<option value="3">somewhere else again</option>
</select>
现在在 selenium 中,我想确保在页面加载时默认选择 -- Please select --。
谷歌搜索,selecting by xpath and [selected="selected"] 看起来很有希望,但是,我不能使用它,因为我的 options 都没有选择要开始的属性。
所以我想,相反,我可以像这样选择第一个元素:
driver.FindElement(By.XPath("//select[@id='PlaceOfBirth']/*[1]"));
//the actual xpath being //select[@id='PlaceOfBirth']/*[1]
虽然这确实很好地返回了第一个选项,但它不一定是选定的选项。如何确保当前选择的选项是我想要的
(value="", text="-- Please select --")好吗?
谢谢。
ps:我正在使用 selenium webdriver
pps:我遇到过各种答案,例如selectLocator 等,但它们要么是 php/java,要么我在我的命名空间中找不到它们......
【问题讨论】:
-
请参阅this answer,了解如何在 WebDriver 中创建
SelectElement。一旦你有了它,SelectedOption属性将使你能够验证在页面加载时选择了什么。 -
@Bryan,非常感谢!这确实让我发现了一些我不知道的事情。