2017-07-18 19 views
0

OS: 的Windows 10發行彈出窗口後面對關閉,父窗口元素是不能點擊

硒版本:3.4.0

瀏覽器: Mozila Firefox的

瀏覽器版本: 54.0.1(64位)

GreckoDriver版本: v0.18.0

描述:問題在POPUP窗口之後面臨問題.Element無法在下一個窗口中單擊。

ERROR:

POPUP By.name:btnClose

[13,25,50]


的編碼拋出異常,並在任務未被捕獲。

完整消息:TypeError:嘗試獲取資源時的NetworkError。 完整的堆棧:


下面的代碼:

public static File pathBinary = new File("C:\\program files\\Mozilla Firefox\\firefox.exe"); 
    public static FirefoxBinary firefoxBinary = new FirefoxBinary(pathBinary); 

    @SuppressWarnings("deprecation") 
    public static WebDriver driver = new FirefoxDriver(firefoxBinary); 

    public static WebDriverWait wait =new WebDriverWait(driver,60); 
    public static String MainWindow=driver.getWindowHandle(); 
+1

代碼塊中的「POPUP窗口」在哪裏?謝謝 – DebanjanB

回答

0

我認爲你必須確保你已經切換回主窗口句柄嘗試使用此彈出後已經關閉。

driver.switchTo().window(0); 

然後嘗試搜索元素

0

或者你可以嘗試:

再次切換到默認值。

driver.switchTo().defaultContent(); 

切換到一個框架:

driver.switchTo.frame("Frame_ID"); 
1

在未來,提供更多的代碼(如果可能的話),所以我們可以更好地瞭解你正在嘗試做的。看起來你的問題是將WebDriver的焦點切換到原始窗口。我用它來做到這一點的方法是:

創建一個數組來保存所有的窗口句柄:

ArrayList<String> windowhandlesArray = new ArrayList<String> (driver.getWindowHandles()); 

開關驅動器集中到新開的彈出窗口

driver.switchTo().window(windowhandlesArray.get(1)); 

關閉彈出窗口

driver.close(); 

開關驅動焦點回到原來的窗口

driver.switchTo().window(windowhandlesArray.get(0)); 

這應該可以幫助,除非我誤解了你試圖完成。