2017-11-24 4 views
0

Ich installiere Firefox-Erweiterung mit Automatisierung. Ich verwende den folgenden Code. aber ich bekomme einen Fehler.Wie klicken Sie im Popup-Fenster auf Selen Webdriver auf Erlauben Schaltfläche mit Java

enter image description here

package com.toolbar.pages; 
 

 
import java.io.Console; 
 

 
import org.openqa.selenium.Alert; 
 
import org.openqa.selenium.By; 
 
import org.openqa.selenium.WebDriver; 
 
import org.openqa.selenium.firefox.FirefoxDriver; 
 
import org.openqa.selenium.remote.DesiredCapabilities; 
 
import org.sikuli.script.FindFailed; 
 
import org.sikuli.script.ImagePath; 
 
import org.sikuli.script.Pattern; 
 
import org.sikuli.script.Screen; 
 

 
public class FFInstallationpage { 
 

 
\t @SuppressWarnings("deprecation") 
 
\t public static void main(String[] args) throws FindFailed, InterruptedException { 
 
\t \t 
 
\t \t WebDriver driver; 
 
\t \t 
 
\t \t DesiredCapabilities capabilities = new DesiredCapabilities(); 
 
\t \t 
 
\t \t System.setProperty("webdriver.gecko.driver", "/Users/venkata.b/Downloads/geckodriver"); 
 
\t \t 
 
\t \t driver =new FirefoxDriver(capabilities); 
 
    
 
     driver.manage().window().maximize(); 
 
     
 
     driver.get("https://toolbar.rakuten.co.jp/ff/"); 
 
     
 
     driver.findElement(By.xpath("//img[contains(@src,'https://image.infoseek.rakuten.co.jp/content/toolbar/ff/top/main_btn.png')]")).click(); 
 
     
 
     Thread.sleep(5000); 
 
    
 
     driver.findElement(By.xpath("//img[contains(@src,'https://image.infoseek.rakuten.co.jp/content/toolbar/install_btn.gif')]")).click(); 
 
    
 
    
 
     
 
     Alert alert = driver.switchTo().alert(); 
 
     
 
     driver.switchTo().alert(); 
 
     
 
     alert.accept();

Fehler

Exception in thread "main" org.openqa.selenium.NoAlertPresentException: keine modalen Dialog ist derzeit offen Info Körperbau: Version: ' 3.7.1 ', Revision:' 8a0099a ', Uhrzeit:' 2017-11-06T21: 07: 31.527Z ' Systeminfo: host:' RINMAC297 ', ip:' fe80: 0: 0: 0: c44: 2da2: 148c: Gleichstrom 85% en0 ', os.name:' Mac OS X ', os.arch:' x86_64 ', Versionsnummer: '10 .12.6', java.version: '1.8.0_144' Treiberinfo: org.openqa. selenium.firefox.FirefoxDriver Fähigkeiten {acceptInsecureCerts: false, browserName: firefox, browserVersion: 57.0, javascriptEnabled: true, moz: accessibilityChecks: false, moz: kopflos: false, moz: processID: 8761, moz: profile:/var/folders/b0/rz6ystbx6q7 ..., moz: webdriverClick: false, pageLoadStrategy: normal, Plattform: MAC, platformName: MAC, platformVersion: 16.7.0, rotierbar: false, timeouts: {implizit: 0, pageLoad: 300000, script: 30000 }} Session ID: 3cb929c6-A392-B247-a6ec-72af24f1ab6f bei sun.reflect.NativeConstructorAccessorImpl.newInstance0 (native Methode) bei sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) bei sun.reflect. D elegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) bei java.lang.reflect.Constructor.newInstance (Constructor.java:423) bei org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException (W3CHttpResponseCodec.java:187) bei org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode (W3CHttpResponseCodec.java:122) bei org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode (W3CHttpResponseCodec.java:49) bei org.openqa. selen.remote.HttpCommandExecutor.execute.exe (HttpCommandExecutor.java:164) bei org.openqa.selenium.remote.service.DriverCommandExecutor.execute (DriverCommandExecutor.java:83) bei org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:600) bei org.openqa.selenium.r emote.RemoteWebDriver.execute (RemoteWebDriver.java:657) bei org.openqa.selenium.remote.RemoteWebDriver $ RemoteTargetLocator.alert (RemoteWebDriver.java:986) bei com.toolbar.pages.FFInstallationepage.main (FFInstallationepage.java: 50)

+0

Die Website ist wahrscheinlich nicht einen typischen Alarm verwenden. Versuchen Sie zu sehen, ob die "Warnung" ein Element der tatsächlichen Webseite ist. – DCON

+0

Sie haben Sikuli importiert. Hat das das Problem nicht gelöst? –

+0

@Manmohan_singh sikuli findfailed Problem – Venkat

Antwort

0

Wenn Sie Alarm erwarten werden, aber irgendwann kann es nicht open.You kann damit umgehen try und catch mit

try { 
Alert alert = driver.switchTo().alert(); 

     driver.switchTo().alert(); 

     alert.accept(); 
} 

catch (org.openqa.selenium.NoAlertPresentException e){ 
System.out.println("No alert present");  
} 
+0

Keine Warnung vorhanden – Venkat

+0

Ja, weil sich die Warnung auf Ihrer Website nicht öffnet.Bestätigen Sie, wenn Sie die Groß-/Kleinschreibung richtig geöffnet haben.Die Art, wie ich sie bereitstelle, wird den Fehler behandeln, wenn die Warnung nicht vorhanden ist – zsbappa

Verwandte Themen