2016-08-20 19 views
0

Ich versuche, auf die Schaltfläche klicken, aber es wirft einen Fehler.Fehler beim Klicken auf die Schaltfläche

Selen-Code ist

WebElement sa = driver.findElement(By.xpath("html/body/div[2]/div/div[7]/div/div/div[2]/div[2]/a[1]/div/div/div[2]")); 
     ((JavascriptExecutor)driver).executeScript("arguments[0].click()", sa); 

Fehler ich bin immer ist:

Element an dem Punkt nicht angeklickt ist (215, 105). Anderes Element würde den Klick erhalten: <svg style="overflow: hidden; position: relative;" xmlns="http://www.w3.org/2000/svg" width="1287" version="1.1" height="100"></svg>

Bitte helfen Sie.

Antwort

0

Versuchen Sie explizit zu warten, dass die Seite geladen wird. Oder die Seite wird geladen, aber das Element ist aus irgendeinem Grund nicht sichtbar. Sie können die Seite dahin scrollen, wo sich das Element befindet.

(Treiber als IJavaScriptExecutor) .ExecuteScript (string.Format ("window.scrollTo (0, {0});", elementToClick.Location.Y));

// Klicken Sie auf das Element elementToClick.Click();

Das Beispiel finden Sie hier: Chrome - Element is not clickable at point #2766

0

Eigentlich vorgesehen Ausnahme auslösen würde, wenn Sie .click() von WebElement Methode anstelle von javascriptclick verwenden, also sind Sie sicher, dass diese Ausnahme in dieser Linie wirft, wenn Sie sind gehen zu klicken mit JavascriptExexutor ??

Auf jeden Fall können Sie versuchen, By.cssSelector() mit Klick auf diesen div ausführen wie folgt: -

driver.findElement(By.cssSelector("div.question_text")).click(); 

Editiert: - Wenn Sie immer noch gleiche Ausnahme immer zuerst scrollen müssen, dieses Element zu erreichen mit JavascriptExexutor dann wie unten klicken: -

WebElement el = driver.findElement(By.cssSelector("div.question_text")); 

//Now scroll to reach that element 
((JavascriptExexutor)driver).exexuteScript("arguments[0].scrollIntoView()", el); 

//now click on this link 
el.click(); 
+0

noch denselben Fehler Element an dem Punkt nicht angeklickt ist (460,11.39999) – huges

+0

Ok die Sie müssen sich zuerst bewegen, dass Verput erreichen t vor dem Klick. Versuchen Sie mit bearbeiteter Antwort und lassen Sie mich wissen .. :) –

+0

Sie müssen identifizieren, welches Element klickbar ist und dieses Element übergeben, um Klick auszuführen ... :) –

Verwandte Themen