Finders.pm 415 B

12345678910111213141516171819202122232425
  1. package Selenium::Remote::Finders;
  2. use Try::Tiny;
  3. use Carp qw/carp/;
  4. use Moo::Role;
  5. use namespace::clean;
  6. sub _build_find_by {
  7. my ($self, $by) = @_;
  8. return sub {
  9. my ($driver, $locator) = @_;
  10. my $strategy = $by;
  11. return try {
  12. return $driver->find_element($locator, $strategy);
  13. }
  14. catch {
  15. carp $_;
  16. return 0;
  17. };
  18. }
  19. }
  20. 1;