Search code examples
perlseleniummoose

iterate through perl object array


I have this object in perl

$elem = $driver->get_elements("//select[\@name[\"cars\"]//option");

<code><pre>
    1  Selenium::Remote::WebElement=HASH(0x600f700)
      'driver' => Selenium::Remote::Driver=HASH(0x5bb9618)
         -> REUSED_ADDRESS
      'id' => 95
    2  Selenium::Remote::WebElement=HASH(0x6012d18)
      'driver' => Selenium::Remote::Driver=HASH(0x5bb9618)
         -> REUSED_ADDRESS
      'id' => 96
    3  Selenium::Remote::WebElement=HASH(0x5ff29f8)
      'driver' => Selenium::Remote::Driver=HASH(0x5bb9618)
         -> REUSED_ADDRESS
      'id' => 97
    4  Selenium::Remote::WebElement=HASH(0x5ca26b8)
      'driver' => Selenium::Remote::Driver=HASH(0x5bb9618)
         -> REUSED_ADDRESS
      'id' => 98
    5  Selenium::Remote::WebElement=HASH(0x600b330)
      'driver' => Selenium::Remote::Driver=HASH(0x5bb9618)
         -> REUSED_ADDRESS
      'id' => 99

Now I want to iterate through each Array Element in $elem. How does one go about this.


Solution

  • You'll need to dereference $elem, then loop:

    for my $element (@{ $elem }) {
        # do stuff
    }