试着用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: