Ich habe versucht, für meinen Webtest eine Option auszuwählen. Ein Beispiel finden Sie hier: http://www.tizag.com/phpT/examples/formex.php
Alles funktioniert gut, bis auf die Auswahl eines Optionsteils. Wie wähle ich eine Option nach Wert oder Bezeichnung aus?
Mein Code:
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium;
using System.Collections.ObjectModel;
using System.Text.RegularExpressions;
using System.Threading;
using System.Diagnostics;
using System.Runtime.InteropServices;
class GoogleSuggest
{
static void Main()
{
IWebDriver driver = new FirefoxDriver();
//Notice navigation is slightly different than the Java version
//This is because 'get' is a keyword in C#
driver.Navigate().GoToUrl("http://www.tizag.com/phpT/examples/formex.php");
IWebElement query = driver.FindElement(By.Name("Fname"));
query.SendKeys("John");
driver.FindElement(By.Name("Lname")).SendKeys("Doe");
driver.FindElement(By.XPath("//input[@name='gender' and @value='Male']")).Click();
driver.FindElement(By.XPath("//input[@name='food[]' and @value='Chicken']")).Click();
driver.FindElement(By.Name("quote")).Clear();
driver.FindElement(By.Name("quote")).SendKeys("Be Present!");
driver.FindElement(By.Name("education")).SendKeys(Keys.Down + Keys.Enter); // working but that's not what i was looking for
// driver.FindElement(By.XPath("//option[@value='HighSchool']")).Click(); not working
// driver.FindElement(By.XPath("/html/body/table[2]/tbody/tr/td[2]/table/tbody/tr/td/div[5]/form/select/option[2]")).Click(); not working
// driver.FindElement(By.XPath("id('examp')/x:form/x:select[1]/x:option[2]")).Click(); not working
}
}
c#
webdriver
selenium-webdriver
Mirza
quelle
quelle
var selectElement = new SelectElement(education);
Sollte sein:var selectElement = new SelectElement(element);
Ich habe einen Punkt hinzugefügt: Ich bin auf ein Problem gestoßen, dass der OpenQA.Selenium.Support.UI-Namespace nach der Installation der Selenium.NET-Bindung im C # -Projekt nicht verfügbar war. Später stellte sich heraus, dass wir die neueste Version der Selenium WebDriver-Supportklassen problemlos installieren können, indem wir den folgenden Befehl ausführen:
in der NuGet Package Manager-Konsole oder installieren Sie Selenium.Support über NuGet Manager.
quelle
Ein anderer Weg könnte dieser sein:
und Sie können den Index in Option [x] ändern, indem Sie x um die Anzahl der Elemente ändern, die Sie auswählen möchten.
Ich weiß nicht, ob es der beste Weg ist, aber ich hoffe, das hilft dir.
quelle
So wählen Sie eine Option über Text aus;
So wählen Sie eine Option über Wert aus:
quelle
Sie müssen nur den Wert übergeben und den Schlüssel eingeben:
quelle
So funktioniert es bei mir (Auswahl der Steuerung nach ID und Option nach Text):
verwenden:
quelle
Selenium WebDriver C # -Code zum Auswählen eines Elements aus der Dropdown-Liste:
Es gibt drei Möglichkeiten, ein Dropdown-Element auszuwählen: i) Nach Text auswählen ii) Nach Index auswählen iii) Nach Wert auswählen
Nach Text auswählen:
Nach Index auswählen:
Nach Wert auswählen:
quelle
Wenn Sie nur nach einer Auswahl aus dem Dropdown-Feld suchen, finde ich auch die Methode "Nach Index auswählen" sehr nützlich.
quelle
quelle
quelle