如何使用perl语言在selenium远程驱动程序中处理网页中的ajax下拉列表

时间:2013-12-26 11:39:35

标签: ajax perl selenium

我想点击网页iframe中的ajax下拉列表,我正在使用selenium :: remote :: driver模块,这里我提供了该下拉列表的代码,你能否请我提供给我使用perl语言处理它

<body id="payment-iframe-body">
<div id="paypage-wrap">
<div id="loading-overlay" class="overlay loading-overlay" style="display:none">
<div id="idealBankNames" class="hide">
<div id="epsBankNames" class="hide">
<div id="success-overlay" class="overlay success-overlay" style="display:none">
<div id="disabled-category-overlay" class="disabled-category-overlay" style="display:none">
<div id="click-anim" style="display:none">
<div id="touch-anim" style="display:none">
<div id="payment-category-selection" class="row-fluid">
<div class="row-fluid">
<div class="row-fluid">
<a id="payment-options-anchor" shape="rect"></a>
<div id="payment-options">
<div class="payment-options-credit-card" style="">
<div id="creditcard-roundabout" class="row-fluid hide">
<div id="new-creditcard-wrap">
<form id="form-credit-card" method="get" enctype="application/x-www-form-urlencoded" novalidate="novalidate">
<div class="row-fluid"> &nbsp; </div>
<div class="row-fluid">
<div class="row-fluid card-wrap">
<div class="row-fluid name-wrap">
<div class="row-fluid dob-wrap hide" style="opacity: 0;">
<div class="row-fluid maestro-wrap hide" style="opacity: 0;">
<div class="row-fluid">
<div class="span3 iframe expiry-wrap">
<label for="expiry-date">Expiration date</label>
<select id="expiry-date-month" class="expirydatemonth selectBox" size="1" name="expirydatemonth" style="display: none;">
<option value="">Month</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<a class="selectBox expirydatemonth selectBox-dropdown" style="width: 30px; display: inline-block; -moz-user-select: none;" title="" tabindex="0">
<span class="slash">/</span>

我尝试使用以下代码但尚未使用

myscript.pl:

use strict;
     use warnings;
     use Selenium::Remote::Driver;
     use Selenium::Remote::WebElement;
     use Time::HiRes qw(sleep);

    my $driver = new Selenium::Remote::Driver
    $driver ->get($url);
    my $elem=$driver->find_element('iframe','tag_name'); 
    my $framename=$elem->get_attribute('name');
    $driver->switch_to_frame($framename);   

    my $script = q{

            var elem1 = window.document.findElementById(expiry-date-month);
            return elem1;
          };

              my $elem2=$driver->execute_script('$script'); 
              print $elem2;
              }

0 个答案:

没有答案