-1

在 makemytrip.com 中单击取消链接会打开一个新框架,其中显示“取消您的航班预订”,这是一个框架。在此框架中,我尝试单击“关闭此窗口”链接。但这并没有发生,在 eclipse 中它给出了 element not exist 错误。

这是代码,

driver.findElement(By.xpath("//div[@class='dialog_closepanel']//span//a[text()='close this window']")).click();

我如何点击这个链接?

4

2 回答 2

0

试试这个代码:

driver.findElement(By.cssSelector("span.ui-icon.ui-icon-closethick")).click();

编辑:

如果您看到关闭模式的链接和图标,请尝试以下操作:

driver.findElement(By.linkText("close this window")).click();

或者

driver.findElement(By.cssSelector("img[alt=\"close\"]")).click();
于 2013-03-15T18:43:41.520 回答
0

尝试这样的事情:

public static int DEFAULT_IMPLICIT_WAIT = 30;
getElementByLocator( By.cssSelector("span.ui-icon.ui-icon-closethick")).click();

从这个方法:

public static WebElement getElementByLocator( By locator ) {
  long startTime = System.currentTimeMillis();
  driver.manage().timeouts().implicitlyWait( 5, TimeUnit.SECONDS );
  WebElement we = null;
  boolean unfound = true;
  while ( unfound ) {
    try {
      we = driver.findElement( locator );
      unfound = false; // FOUND IT
    } catch ( StaleElementReferenceException e ) {                      
      unfound = true;
      try {
        Thread.sleep(4000);
      } catch (InterruptedException e1) {
        e1.printStackTrace();
      }
    }       
  } 
  // and finally the cleanup          
  driver.manage().timeouts().implicitlyWait( DEFAULT_IMPLICIT_WAIT, TimeUnit.SECONDS );
  return we;
 }
于 2013-03-15T18:47:19.093 回答