http://qs1969.pair.com?node_id=971418

mmittiga17 has asked for the wisdom of the Perl Monks concerning the following question:

Good morning All, I have been searching and searching for a way to access a popup window using Perl's WWW::Selenium module. After I click a link the popup opens and select values and then click submit. I am trying to automate this with selenium but I am not having my luck. After my code launches the popup my script dies after trying to access popup. I have tried to use the ide and then play back but it does not get the popup either. Can someone point me in the right direction. I have read the docs on cpan and have searched this site as well. Thanks in advance.

Code snipet for the popup.
$sel->open("javascript:openMdlWindow('ActivityDetail_Options.aspx', '7 +00', '600')"); $sel->set_timeout($timeout); print $sel->get_all_window_ids(),"\n"; $sel->select_pop_up("Activity Detail Report Options"); $sel->set_timeout($timeout); $sel->type("TempBeginDay", "16"); $sel->type("BeginDay", "16"); $sel->type("TempEndDay", "16"); $sel->type("EndDay", "16"); $sel->click("btnSubmit"); $sel->set_timeout($timeout);

Replies are listed 'Best First'.
Re: WWW Selenium popup windows
by Anonymous Monk on May 19, 2012 at 17:10 UTC

      Thanks I found the solution on the link you provided.

      # Assumes only 1 currently opened window with target _blank sub select_target_blank_window { my ($self, $timeout) = @_; my $window_name; for (1 .. $timeout / 100) { ($window_name) = grep {/selenium_blank\d+/} $self->get_all_wind +ow_names; last if defined $window_name; $self->pause(100); } croak "Timed out waiting to select blank target window" if ! defin +ed $window_name; return $self->select_window($window_name); }

      Now to figure out how to get a value in a form. It is a drop down list consisting dates. sel->type("xxx",15"); does not work. nor does

      <code> $sel->get_eval('document.actForm.TempBeginDay.value = "15"'); $sel->get_eval('document.actForm.TempEndDay.value = "15"'); <\code> Thoughts??? Thanks!!!!

        Thoughts???

        Use the selenium GUI to record clicks etc