试着用perl+Selenium 写一个自动脚本

上一篇 / 下一篇  2012-04-03 22:11:13 / 个人分类:perl相关

 

这两天接触了下Selenium ,试着用perl写了下139邮箱的自动登陆,发送邮件脚本

发现有些问题还搞不定,很奇怪。

首先是,收件人那个控件需要触发事件,虽然能type收件人地址,但是点击发送的时候提示,要填写收件人地址。后来用Win32::GuiTest SendKeys函数点击回车才解决,这并不是好的办法。也上网搜索过,但试了都不行。

第二个问题就是,正文内容写不进去,元素定位也没有报错,可就是不输入期望的内容。

最后也只是实现了登陆,填写收件人,邮件标题,发送这个简单的过程。上面的问题还需要再好好想想,或者换种语言尝试下。

代码如下:

use WWW::Selenium;
use Win32::GuiTest qw(SendKeys );

    my $sel = WWW::Selenium->new( host => "localhost",
                                  port => 4444,
                                  browser => "*iexplore",
                                  browser_url => "http://mail.10086.cn",
                                );

    $sel->start;
    $sel->open("http://mail.10086.cn");
    $sel->type("txtPassword","邮箱密码");

    $sel->submit("loginForm");
    sleep(3);
   
    $sel->click("css=a[class='writeMails']");
    sleep(3);
   
    @links = $sel->get_html_source();
    foreach $info(@links) {
     if($info =~ /id\=(compose\_.*) src/){
       $id = $1;
         last;
     }
    }
  
   $sel->select_frame($id);
          
   $sel->type("txtSubject","test");
   $sel->type("css=input[setvaluehandler='RichInputBoxSetValueHandler1']","收件人手机号码");
   sleep(3);
    
   SendKeys("{ENTER}");   
   $sel->type("id=plainTextElement","123456");

   $sel->click("btnSend");


TAG:

测试小龙套的个人空间 引用 删除 测试小龙套   /   2012-11-16 20:39:14
原帖由yjdeihc于2012-11-09 11:11:19发表
如果正文是汉字需要转换编码格式

多谢,多谢,已经解决
大漠小狼的个人空间 引用 删除 yjdeihc   /   2012-11-09 11:11:19
如果正文是汉字需要转换编码格式
 

评分:0

我来说两句

Open Toolbar