• Perl学习笔记(十二)--IE自动化


      在IE浏览器中进行自动化,首先需要安装Win32::IEAutomation这个模块,此模块相当强大,能操作浏览器的刷新,后退,前进等,由于AutoItX3.dll也嵌在里面,甚至可以操作浏览器中弹出的windows窗口

      在IEAutomation.pm的文件中,给出了使用它的例子:

      

     1 use Win32::IEAutomation;
     2     
     3     # Creating new instance of Internet Explorer
     4     my $ie = Win32::IEAutomation->new( visible => 1, maximize => 1);
     5     
     6     # Site navigation
     7     $ie->gotoURL('http://www.google.com');
     8     
     9     # Finding hyperlinks and clicking them
    10     # Using 'linktext:' option (text of the link shown on web page)
    11     $ie->getLink('linktext:', "About Google")->Click;    
    12     # Or using 'linktext:' option with pattern matching
    13     $ie->getLink('linktext:', qr/About Google/)->Click;
    14     # Or using 'id:' option ( <a id=1a class=q href=......>)
    15     $ie->getLink('id:', "1a")->Click;
    16     
    17     # Finding checkbox and selecting it
    18     # Using 'name:' option ( <input type = "checkbox" name = "checkme" value = "1"> )
    19     $ie->getCheckbox('name:', "checkme")->Select;
    20     # Or using 'aftertext:' option (for checkbox after some text on the web page) 
    21     $ie->getCheckbox('aftertext:', "some text here")->Select;
    22     
    23     # Finding text field and entering data into it
    24     # Using 'name:' option ( <input type="text" name="username" .......> )
    25     $ie->getTextBox('name:', "username")->SetValue($user);
    26     
    27     # Finding button and clicking it
    28     # using 'caption:' option
    29     $ie->getButton('caption:', "Google Search")->Click;
    30     
    31     # Accessing controls under frame
    32     $ie->getFrame("name:", "content")->getLink("linktext:", "All Documents")->Click;
    33     
    34     # Nested frames
    35     $ie->getFrame("name:", "first_frame")->getFrame("name:", "nested_frame");
    36     
    37     # Catching the popup as new window and accessing controls in it
    38     my $popup = $ie->getPopupWindow("title of popup window");
    39     $popup->getButton('value:', "button_value")->Click;

      例子很详尽,只贴了一部分。对元素的操作放在Element.pm这个文件,在实际使用过程中有可能会发生找不到元素的情况,可通过更改它来实现。

      如果要测360浏览器怎么办呢?简单,只要将默认浏览器改成360就可以啦。

      控制台打印如果出现中文乱码的情况,可使用如下代码:

      

    1 use encoding 'utf8',STDIN=>'utf8',STDOUT=>'gb2312';

      运行起来的浏览器如果想输入中文,上面的就不能解决乱码了哦。需要对字符Encode即可,如下

      

        $name = "测试";
        $name2 = Encode::encode('gb2312', $name);
  • 相关阅读:
    网络配置br0 brtcl
    vlan pvid vid access口 trunk口
    虚拟化设置
    debian配置网络
    ps -a,job,netstat,daemons
    windows用命令行查看硬件信息
    查看linux硬件信息
    ruby send respond_to
    打开Win7休眠模式和离开模式的方法
    vim手册
  • 原文地址:https://www.cnblogs.com/Hebe/p/5076632.html
Copyright © 2020-2023  润新知