【问题标题】:Unable to click on object in Banking Netbanking site无法点击银行网上银行网站中的对象
【发布时间】:2017-02-08 05:59:21
【问题描述】:

下面是网站页面

我正在尝试点击继续使用网上银行按钮。但我无法做到这一点。我用过xpath,但它不起作用。这是我试过的xpath

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

步骤:

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

代码如下:

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;
        }

    }

控制台:

线程“主”org.openqa.selenium.NoSuchElementException 中的异常: 没有这样的元素:无法找到元素: {"method":"xpath","selector":".//*[@id='wrapper']/div[6]/a/img"}

【问题讨论】:

  • 我只是想知道 //*[@id='wrapper'] 之前是否有一个 dot
  • 我猜你必须先移动到另一个窗口,因为当点击登录按钮时,“Continue to NetBanking”按钮显示在另一个窗口中。然后用你的 xpath 元素试试。
  • 您是否处理了对弹出窗口的更改? stackoverflow.com/questions/19403949/…
  • 假设您有权对此银行站点执行自动化测试。金融网站,尤其是银行,对任何自动访问都非常偏执。

标签: selenium selenium-webdriver


【解决方案1】:

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

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);

【讨论】:

  • 同意@andersson代码,如果你想用xpath点击“contuie to NetBanking”按钮。你可以使用这种方式。 (By.xpath("//img[@src='/assets/images/netbanking_continue_red.gif']")).click();
猜你喜欢
  • 2011-07-31
  • 2019-07-26
  • 2016-07-07
  • 2020-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-18
相关资源
最近更新 更多