无法点击Banking Netbanking网站上的对象

时间:2017-02-08 05:59:21

标签: selenium selenium-webdriver

以下是网站页面

Banking Netbanking Page

我试图点击继续使用Netbanking 按钮。但我无法做到这一点。我使用过xpath但它不起作用。以下是xpath,我已经尝试过了:

driver.findElement(By.xpath(".//*[@id='wrapper']/div[6]/a/img")).click();

步骤:

  1. 打开URl http://www.hdfcbank.com
  2. 点击网站上的“登录”按钮。新的弹出窗口将会打开。
  3. 点击"继续使用网上银行"。这不工作
  4. 这是代码:

    driver.findElement(By.id("loginsubmit")).click();
    
        Thread.sleep(3000);
    
        Set<String> set = driver.getWindowHandles();
        Iterator<String> it = set.iterator();
        System.out.println(set.size());
    
        for( String windowTab : set){
            if(!windowTab.equalsIgnoreCase(MainWindow)){
                driver.switchTo().window(it.next());
                driver.manage().window().maximize();
                String Wdinw2 = driver.getWindowHandle();
                Thread.sleep(10000);
                System.out.println(driver.getTitle());
    
                driver.findElement(By.xpath(".//*[@id='wrapper']/div[6]/a/img")).click();
    
                break;
            }
    
        }
    

    控制台:

      

    线程中的异常&#34; main&#34; org.openqa.selenium.NoSuchElementException:   没有这样的元素:无法找到元素:   {&#34;方法&#34;:&#34;的xpath&#34;&#34;选择器&#34;:&#34; .//* [@ ID =&#39;包装&#39;] / DIV [6] /一个/ IMG&#34;}

1 个答案:

答案 0 :(得分:4)

尝试使用以下代码并告诉我结果:

String winHandleBefore = driver.getWindowHandle();
for(String winHandle : driver.getWindowHandles()){
    driver.switchTo().window(winHandle);}

WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("img[alt='continue']"))).click();

要切换回主窗口(如果需要):

driver.switchTo().window(winHandleBefore);