2017-08-17 19 views
0

Selenium webdriverを使用して電子商取引のWebサイトをテストしようとしています。テストの問題は、カートにものを追加しようとするたびにアラートを使用して処理しようとしたニュースレターウィンドウが表示されますが、できません。ポップアップニュースレターを処理できません

誰かが私を助けてくれますか?私はコードと共に下記のスクリーンショットを添付しています。

enter image description here

public class Ui { 

    public static void main(String[] args) { 
     System.setProperty("webdriver.gecko.driver","C:/New folder/geckodriver.exe"); 
     //First Iam going to initialize the webdriver by using Firefox driver// 
     WebDriver driver = new FirefoxDriver(); 
     driver.get("https://www.build.com/"); 
     driver.manage().window().maximize(); 
     driver.findElement(By.xpath(".//*[@id='search_txt']")).sendKeys("K-6626-6U "); 
     Actions enter = new Actions(driver); 
     enter.moveToElement(driver.findElement(By.xpath(".//*[@id='site-search']/div/button"))).click().build().perform(); 
    } 
} 
+0

をクリックします。 iframeの場合は、iframeコードを使用して処理します。 –

+0

@Hozefa、あなたに役立つ答えがあればそれを受け入れてください – NarendraR

答えて

0

最初のものです - あなたは閉じるボタンを検索し、そのためのコードの下

使用をクリックする必要があるため、アラートてウィンドウのポップアップそのない:

public class Ui 
{ 
    public static void main(String[] args) 
    { 
     System.setProperty("webdriver.gecko.driver","C:/New folder/geckodriver.exe"); 
     //First Iam going to initialize the webdriver by using Firefox driver// 
     WebDriver driver = new FirefoxDriver(); 
     driver.get("https://www.build.com/"); 
     driver.manage().window().maximize(); 
     new WebDriverWait(driver, 60).until(ExpectedConditions.visibilityOf(driver.findElement(By.xpath("//button[@class='close external-close']")))).click(); 
    } 
} 

ここでは、ポップアップが表示されてからクリックを実行するまでExplicitWaitを使用する必要があります。待機を使用しない場合は、ElementNotVisibleExceptionがスローされます。

0

いくつかの時間のために待機し、脱出にあなたがそれを処理するためにXPathを使用していないのはなぜ

public static void main(String[] args) { 
    WebDriver driver = new FirefoxDriver(); 
    driver.get("https://www.build.com/"); 
    driver.manage().window().maximize(); 
    //give own time 
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); 
    Actions enter = new Actions(driver); 
    enter.sendKeys(Keys.ESCAPE).perform(); 
} 
関連する問題