2014-10-30 42 views
0

我在代碼中使用函數switchToWindow來實踐。但它不適用於我不能在代碼中使用switchToWindow

任何人都可以幫助我解決我的問題。我想切換到登錄彈出式輸入電子郵件/密碼,但我不能。 ![1] 這是我的場景 在當前頁面(頁面A)單擊登錄按鈕=>新窗口打開用戶輸入Facebook的電子郵件/密碼。提交按鈕點擊之後,它會重定向到最後一個窗口(第一個)

Here is my code 

$I = new AcceptanceTester($scenario); 
 
$I->amOnPage('/leaderboard'); 
 
$I->click('#fb-login'); 
 
$I->executeInSelenium(function (\Webdriver\Session $webdriver) { 
 
    $handles=$webdriver->window_handles(); 
 
    $last_window = end($handles); 
 
    $webdriver->focusWindow($last_window); 
 
}); 
 
$I->fillField('#email','[email protected]'); 
 
$I->fillField('#pass','aaa'); 
 
$I->click('//*[@id="u_0_1"]');

感謝

回答

0

使用下面的代碼:

$I->executeInSelenium(function (Webdriver $webdriver) { 
    $handles=$webdriver->getWindowHandles(); 
    $last_window = end($handles); 
    $webdriver->switchTo()->window($last_window); 
}); 

然後

$I->switchToWindow(); 

如果需要

0

試試這一個回來的主窗口,

$I->executeInSelenium(function (\Facebook\WebDriver\Remote\RemoteWebDriver $webdriver) { 
      $handles=$webdriver->getWindowHandles(); 
      $first_window = ($handles[0]);  
      $last_window = ($handles[1]); 
      $webdriver->switchTo()->window($last_window);  
     }); 
相關問題