2017-09-14 45 views
2

我想點擊一個鏈接,在IE 11,並使用下面的代碼:IE的元素沒有得到點擊在第一時間使用硒的webdriver

driver.findElement(By.xpath("//a[text()='En savoir plus']")).click(); 

我沒有得到任何異常,但頁面是沒有得到任何地方導航,它也凍結了整個頁面,我不能夠繼續。

我遇到了同樣的問題,幾年前,我記得的解決方案是使用相同的命令兩次:

driver.findElement(By.xpath("//a[text()='En savoir plus']")).click(); 
driver.findElement(By.xpath("//a[text()='En savoir plus']")).click(); 

這會點擊鏈接成功地不結冰的頁面。

有沒有解決這個問題的方法?

+2

嘗試使用javascriptExecutor並單擊它 – iamsankalp89

回答

1

也許這將幫助?

  try { 
    WebElement yourElement = driver.findElement(By.xpath("//a[text()='En savoir plus']")); 
        if (yourElement.isEnabled() && yourElement.isDisplayed()) { 
         System.out.println("Clicking on element with using javascript click"); 

    ((JavascriptExecutor) driver).executeScript("arguments[0].click();", yourElement); 

} else { 
       System.out.println("Unable to click on element"); 
      } 
     } catch (StaleElementReferenceException e) { 
      System.out.println("Element is not attached to the page document "+ e.getStackTrace()); 
     } catch (NoSuchElementException e) { 
      System.out.println("Element was not found in DOM "+ e.getStackTrace()); 
     } catch (Exception e) { 
      System.out.println("Unable to click on element "+ e.getStackTrace()); 
     } 
    } 
} 
2

嘗試以下代碼,使用javascript executor方法。

注: -之前要點擊這個按鈕,提供wait幾秒鐘讓你的驅動程序可能能夠找到webelement

對於wait我使用Explicit Wait方法。

new WebDriverWait(driver, 60).until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//a[text()='En savoir plus']"))));     //wait for 60 seconds. 
WebElement button = driver.findElement(By.xpath("//a[text()='En savoir plus']")); 
((JavascriptExecutor) driver).executeScript("arguments[0].click();", button); 
+0

你試過這段代碼嗎?它對你有用嗎? –

相關問題