Sto utilizzando le estensioni Selenio WebDriver in C# per selezionare un valore da un elenco di selezione con un valore di testo parziale (l'effettivo ha uno spazio davanti) . Non riesco a farlo funzionare utilizzando una corrispondenza di testo parziale. Sto facendo qualcosa di sbagliato o si tratta di un bug?Uso di SelectByText (parziale) con C# Selenium I collegamenti WebDriver non sembrano funzionare
esempio riproducibile:
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();
}
}
}
Fornisce errore: OpenQA.Selenium.NoSuchElementException: Cannot locate element with text: Featured downloads
Hai provato SelectByText ("Download in primo piano")? Sono abbastanza sicuro che nessuno dei vincoli toglie lo spazio bianco dalla stringa. – jarib
Sì, l'ho provato e funziona. –
Ma vorrei selezionare per sottostringa, che apparentemente questo metodo supporta, secondo la documentazione del metodo. –