我有這個選擇頁面上:Selenium 2 + WebDriver + .NET:如果select爲「display:none;」,則無法檢索select選項的文本
<select multiple="" class="recipientsList" name="Recipients[]" id="To" style="display: none;">
<option value="User-6" class="">Coordinator, Test</option>
<option value="Course-4" class="">New Course 1</option>
<option value="UserType-6" class="">Coordinators</option>
<option value="UserTypeInCourse-4-6" class="">New Course 1 Coordinator</option>
</select>
而且我運行這個測試:
public IWebDriver WebDriver
{
get
{
// gets the current WebDriver instance, set up elsewhere at the beginning
// of the fixture
return ScenarioContext.Current.WebDriver();
}
}
public void SelectTest()
{
// code to navigate to proper page
var options = WebDriver.FindElements(By.CssSelector("select.recipientsList option"));
Assert.That(options, Is.Not.Empty, "No options found.");
Assert.That(!options.Any(option => string.IsNullOrEmpty(option.Text)), "Some or all options have blank text.");
// Actual useful assert
}
第二斷言是失敗的,因爲所有的options
集合中的元素都有空字符串他們的文本對象。如果我刪除頁面上添加display:none;
樣式的JavaScript,它將起作用。這不是一個永久的解決方案,因爲這個選擇需要被隱藏,因爲它被擴展了FCBKcomplete。
如何在.NET中使用Selenium 2/WebDriver獲取隱藏選擇選項的文本?
這是有道理的。我想,我們必須弄清楚如何從FCBKComplete呈現的自動完成下拉菜單中找到信息。謝謝! – adamjford 2011-02-04 19:37:11