Versuchen Sie zunächst, den neuesten Chrome-Treiber zu installieren, und prüfen Sie, ob das Problem dadurch gelöst wird.
In meinem Fall wurde das Problem dadurch nicht behoben. Aber die folgende Lösung hat bei mir bisher funktioniert. Der folgende Code ist in C#, aber Sie können dieselbe Logik in Ihrer eigenen Sprache verwenden. Was wir hier tun, ist,
Schritt 1: Fokussieren Sie das Element mit dem Selenium Actions Objekt,
Schritt 2: Klicken Sie dann auf das Element
Schritt 3: Wenn es eine Ausnahme gibt, dann lösen wir ein Javascript "Click"-Ereignis auf dem Element aus, indem wir das Javascript-Skript durch die "ExecuteScript"-Methode des Selenium-Browsertreibers ausführen.
Sie können auch die Schritte 1 und 2 überspringen und nur Schritt 3 versuchen. Schritt 3 würde an sich funktionieren, aber ich bemerkte einige seltsame Verhalten in einem Szenario, in dem Schritt 3, obwohl es erfolgreich das Element geklickt, verursacht unerwartetes Verhalten in anderen Teilen meines Codes nach dem Klicken des Elements.
try
{
//Setup the driver and navigate to the web page...
var driver = new ChromeDriver("folder path to the Chrome driver");
driver.Navigate().GoToUrl("UrlToThePage");
//Find the element...
var element = driver.FindElement(By.Id("elementHtmlId"));
//Step 1
new Actions(driver).MoveToElement(element).Perform();
//Step 2
element.Click();
}
catch (Exception)
{
//Step 3
driver.ExecuteScript("document.getElementById('elementHtmlId').click();");
}