這是我的第一個關於Stack Overflow的問題。感謝所有保持技術激情的StackOverflow用戶。Selenium Webdriver - Chrome - 切換窗口並返回 - 無法接收來自渲染器的消息
我正在用硒Webdriver測試一個Web應用程序。這是支付網頁,在選擇付款方式爲「PayPal」後,它會打開一個新的Popup,一個PayPal彈出窗口和我切換到PayPal的窗口,執行所有必要的交易。而且一旦交易成功,貝寶彈出窗口就會自動關閉,而且我無法返回到原來的窗口,從我開始交易的地方開始。
我得到以下的Eclipse控制檯錯誤:
Starting ChromeDriver (v2.9.248315) on port 25947
[70.164][SEVERE]: Unable to receive message from renderer
以下詳細信息可能有所幫助:
- 硒的webdriver(2.28.0)
- 爪哇 - JRE7
- 谷歌瀏覽器版本 - 版本33.0.1750.146
- 測試框架 - 測試NG
這裏是我的代碼:
// To Switch to Popup/Paypal window
String currentWindowHandle=driver.getWindowHandle();
Set<String> openWindowsList=driver.getWindowHandles();
String popUpWindowHandle=null;
for(String windowHandle:openWindowsList)
{
if (!windowHandle.equals(currentWindowHandle))
popUpWindowHandle=windowHandle;
}
driver.switchTo().window(popUpWindowHandle);
// Carraying out my paypal transaction
driver.manage().window().maximize();
driver.findElement(By.xpath("//*[@id='loadLogin']")).click();
Thread.sleep(8000);
WebElement login_email = driver.findElement(By.xpath("//*[@id='login_email']"));
login_email.clear();
login_email.sendKeys(Keys.BACK_SPACE);
login_email.sendKeys("[email protected]");
WebElement login_password = driver.findElement(By.xpath("//*[@id='login_password']"));
login_password.clear();
login_password.sendKeys("abcxyz");
// Next Click is Final Click on PayPal
driver.findElement(By.xpath("//*[@id='submitLogin']")).click();
// Transaction is finished on PayPal side and it automatically popup is closed
//Now i am trying to switch to my last working(original) window
driver.switchTo().window("My Web Page Title");
感謝您的回覆。但問題仍然存在。 CurrentWindowHandle沒有工作。但我仍然無法切換到原來的窗口。還有什麼建議?我很樂意嘗試 –
問題得到解決。非常感謝 –