2016-08-26 4 views
0

Wie klicken Sie auf das Einkaufswagensymbol, wenn der Fehler besagt, dass Element nicht anklickbar ist? Ich habe es bereits mit inspect-Element versucht, aber ohne Erfolg. Ich mache das schon seit einer Stunde und bekomme immer noch nicht, wie ich auf das Einkaufswagensymbol klicke. Wenn das nicht das Element des Einkaufswagensymbols ist, was ist es dann? Vielen Dank. Ich bin ziemlich neu in stackoverflow.Anderes Element würde den Klickfehler erhalten

driver.get("http://www.metromart.com"); 
     driver.findElement(By.cssSelector(".hover-green")).click(); 
     driver.findElement(By.cssSelector("#ember781")).sendKeys("[email protected]"); 
     driver.findElement(By.cssSelector("#ember783")).sendKeys("password"); 
     driver.findElement(By.cssSelector("button.btn.green.block")).click(); 
     driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
     driver.findElement(By.xpath("//span[contains(@style,'background-image: url(https://metromart3.imgix.net/shops/5/logo.png?ixlib=rb-1.0.0)')]")).click(); 

     WebElement element = driver.findElement(By.cssSelector(".btn.green.medium")); 
     Actions actions = new Actions(driver); 
     actions.moveToElement(element).click().perform(); 

     driver.findElement(By.xpath("//img[@alt='Acana Duck And Bartlett Pear Singles Formula']")).click(); 
     driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
     driver.findElement(By.cssSelector("a.btn.green.huge.block")).click(); 
     driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 


     driver.findElement(By.cssSelector(".ember-view.cart-icon")).click(); 
     WebDriverWait wait = new WebDriverWait(driver,30); 
     wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(".btn.green.jumbo]"))); 
+0

Haben Sie versucht, die Wartezeit mit der Bedingung als anklickbare? Wenn nicht, versuchen Sie es bitte – Siva

+0

Wrap-Click-Operation in 'ExpectedConditions.ElementToBeClickable (ElementToWait)' Wartezustand. Stellen Sie außerdem sicher, dass Sie auf das richtige Element klicken (so dass es kein verstecktes Feld oder keine Elemente darüber ist). – Edgar

+0

In welcher Zeile hast du das Problem ?? –

Antwort

0

Dieses Versuchen:

new WebDriverWait(driver, 10).until(ExpectedConditions 
    .presenceOfElementLocated(By.cssSelector(".ember-view.cart-icon"))); 
driver.findElement(By.cssSelector(".ember-view.cart-icon")).click(); 
+0

Kannst du das zweimal benutzen? muss ich nur die Webelemente ersetzen? – denibear

+0

Wahrscheinlich ist das Warten der Teil das Problem. Ich hatte das gleiche Webelement benutzt, das Sie benutzt hatten, nur den Warteteil hinzugefügt. –

Verwandte Themen