Ich versuche, auf eine Standard-HTML-Schaltfläche klicken. Der Treiber findet das Element korrekt und die Click()
-Methode wird ohne Ausnahme abgeschlossen, aber der Klick wird im Browser nicht aufgerufen.Selenium .NET Click() funktioniert nicht
Das folgende Beispiel öffnet nur die Google-Startseite und klickt (oder schlägt fehl) auf die Schaltfläche Ich fühle mich glücklich.
private static readonly InternetExplorerOptions INTERNET_EXPLORER_OPTIONS = new InternetExplorerOptions
{
IgnoreZoomLevel = true
};
[Test]
public void Clicking()
{
using (var driver = new InternetExplorerDriver(INTERNET_EXPLORER_OPTIONS))
{
driver.Navigate().GoToUrl("http://www.google.com");
driver.FindElement(By.Name("btnI")).Click();
Assert.That(driver.Url, Is.EqualTo("https://www.google.com/doodles"));
}
}
Ich bin mit der 32-Bit-Version von IEDriverServer.exe
.
Ich verwende IE-Version 11.576.14393.0
.
Aktualisierungsversion: 11.0.38
.
Die anderen Lösungen haben die gleiche (nicht) beeinflussen, aber ich habe eine nützliche wait
Bedingung ElementToBeClickable
gefunden.
Mögliche Duplikat [Selen/Firefox: Befehl ".click()" nicht mit einem Element gefunden arbeiten] (http://stackoverflow.com/questions/15294630/selenium-firefox-command-click -doesnt-work-with-a-found-element) – Tom
Unabhängig vom Browser kann Selen manchmal nicht auf ein gefundenes Element klicken. Eine Möglichkeit besteht darin, dies über Javascript mit 'JavascriptExecutor' zu versuchen. Sie könnten auch versuchen, etwas zu testen, etwas warten, bevor Sie klicken, weil es aufgrund der Rennbedingungen in der Ausführung passieren kann. – Tom