2016-07-14 6 views
0

Ich versuche Flipkart Website zu automatisieren, in dem ich Adresse zu ändern versuche aber „add neue Adresse“ nicht angeklickt zu werden i have attached the snapshot mein Code wie driver.findElement(By.xpath("//*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span")).click();Klick-Methode funktioniert nicht richtig in Selen WebDriver

bitte geben die entsprechende Hilfe

+0

Gibt es einen Fehler? Wie können wir das reproduzieren? –

+0

in Eclipse wirft es keinen Fehler, das ist das Problem, aber vor diesem habe ich versucht, viele Dinge zu klicken, und es hat funktioniert, aber dieser Teil passiert nicht – user3388407

+0

Vielleicht ist der XPath falsch? –

Antwort

1

Ich sehe nicht aus, dass Sie auf aktives Element klicken, der Xpath ist //*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span nicht korrekt, klickt auf einige span.

Verwenden Sie Firepath https://addons.mozilla.org/en-US/firefox/addon/firepath/, um den Xpath zu erhalten.

+0

diese xpath ich habe es nur von firepath .... und wenn ich versuche es zu überprüfen ... das richtige Ziel wird markiert – user3388407

0

So stellen Sie sicher, dass die Schaltfläche anklickbar ist Verwenden Sie die Methode isDisplayed() und isEnabled(), bevor Sie auf die Schaltfläche "Neue Adresse hinzufügen" klicken, damit die Methode den booleschen Wert zurückgibt.

driver.findElement(By.xpath("//*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span")).isDisplayed(); 

driver.findElement(By.xpath("//*[@id='ng-app']/div/div[2]/ul/li[2]/div/div[2]/div[2]/div[2]/a/span")).isEnabled(); 

Sie können auch dieses Element überprüfen ist auf Seite vorhanden ist oder nicht mit folgenden Code

if(driver.findElements(byVal).size()!=0){ 

// Element is present. 

} 

hoffen, kann es hilfreich Ursache Problem zu identifizieren, warum seine nicht angeklickt werden.

+0

Ich habe diese Befehle versucht, tatsächlich wird die Schaltfläche angezeigt und ist auch aktiviert, wenn ich Ich versuche, auf einen der Knöpfe zu klicken, es passiert nicht, aber das Skript wirft keinen Fehler, ich habe versucht, einen anderen Knopf auf der gleichen Seite wie: - 'driver.findElement (By.xpath (" // div [@id = 'ng-app']/div/div [2]/ul/li [2]/div/div [2]/div [2]/div/div/div [2]/div/div/div/a/p [4]/span ")). click();' es ist immer noch nicht klicken, aber manuell kann ich auf diese Dinge klicken – user3388407

+0

Ich kann nichts durch Automatisierung klicken – user3388407

+0

versuchen mit Aktion API für das Klicken auf Element Verweisen Sie auf diesen Link, um mit der Aktion api auf das Element zu klicken. http://stackoverflow.com/questions/27054560/how-to-double-click-on-an-element-using-selenium-webdriver – Eknath