:
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Support.UI;
namespace AutomatedTests
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var driver = new FirefoxDriver();
driver.Navigate().GoToUrl("http://code.google.com/p/selenium/downloads/list");
var selectList = new SelectElement(driver.FindElement(By.Id("can")));
selectList.SelectByText("Featured downloads");
Assert.AreEqual(" Featured downloads", selectList.SelectedOption.Text);
selectList.SelectByValue("4");
Assert.AreEqual("Deprecated downloads", selectList.SelectedOption.Text);
driver.Quit();
}
}
}
hata verir.
FindElements(By.XPath(".//option[normalize-space(.) = " + EscapeQuotes(text) + "]"))
ve bir şey bulamazsa, o zaman bunu yapar: source codeSelectByText
baktığımızda
bu ilk does
string substringWithoutSpace = GetLongestSubstringWithoutSpace(text);
FindElements(By.XPath(".//option[contains(., " + EscapeQuotes(substringWithoutSpace) + ")]"))
Yani teoride çalışması gerekir. Ayrıca, XPath ile etrafta oynayabilir ve sizin durumunuzda çalışıp çalışmayacağını görebilirsiniz.
SelectByText'i ("Özel indirilenler") denediniz mi? Eminim ki, bağlayıcılardan hiçbiri dizgeden gelen bir boşluk bırakmıyor. – jarib
Evet, bunu denedim ve işe yarıyor. –
Ancak, yöntem belgelerine göre görünüşte bu yöntemin desteklediği alt dizgeyle seçmek istiyorum. –