View | Details | Raw Unified | Return to bug 26162
Collapse All | Expand All

(-)a/t/lib/Selenium.pm (-4 / +12 lines)
Lines 177-187 sub click_when_visible { Link Here
177
    $self->driver->set_implicit_wait_timeout(20000);
177
    $self->driver->set_implicit_wait_timeout(20000);
178
    my ($visible, $elt);
178
    my ($visible, $elt);
179
    while ( not $visible ) {
179
    while ( not $visible ) {
180
        $elt = $self->driver->find_element($xpath_selector);
180
        $elt = eval {$self->driver->find_element($xpath_selector) };
181
        $visible = $elt->is_displayed;
181
        $visible = $elt && $elt->is_displayed;
182
        $self->driver->pause(1000) unless $visible;
182
        $self->driver->pause(1000) unless $visible;
183
    }
183
    }
184
    $elt->click;
184
185
    my $clicked;
186
    $self->remove_error_handler;
187
    while ( not $clicked ) {
188
        eval { $elt->click };
189
        $clicked = !$@;
190
        $self->driver->pause(1000) unless $clicked;
191
    }
192
    $self->add_error_handler;
193
    $elt->click unless $clicked; # finally Raise the error
185
}
194
}
186
195
187
=head1 NAME
196
=head1 NAME
188
- 

Return to bug 26162