c# - Selenium WindowHandles not detect all opened popups -
i'm trying switch between 2 opened popups. driver.windowhandles
return 1 handle(id). don't know how switch second popup. command driver.switchto().activeelement
doesn't work.
readonlycollection<string> currenthandleslist = driver.windowhandles; console.writeline(currenthandleslist.count);
result of : 1
why returns 1. why not 2 ?
thanks lot.
you should use below approach :-
string currenthandle = driver.currentwindowhandle; //save currently-focused window handle variable can switch later. readonlycollection<string> originalhandles = driver.windowhandles; //get list of opened window handles. // work here open popups // webdriverwait.until<t> waits until delegate return popup window handle. webdriverwait wait = new webdriverwait(driver, timespan.fromseconds(5)); string popupwindowhandle = wait.until<string>((d) => { string foundhandle = null; // subtract out list of known handles. in case of single // popup, newhandles list have 1 value. list<string> newhandles = driver.currentwindowhandles.except(originalhandles).tolist(); if (newhandles.count > 0) { foundhandle = newhandles[0]; } return foundhandle; }); driver.switchto().window(popupwindowhandle); // whatever need on popup browser, then... driver.close(); driver.switchtowindow(currenthandle);
in way can work popups.. hope you..:)
Comments
Post a Comment