zoukankan      html  css  js  c++  java
  • IE自动化

    自动打开www.baidu.com,并搜索关键字“abcd”

     1 #定义函数:等待页面打开
     2 function WaitForLoad($ie)
     3 {
     4  sleep 2
     5  do {Sleep -Mi 200}
     6  while ($ie.busy)
     7 }
     8 
     9 $url="www.baidu.com"
    10 $ie = new-object -com "InternetExplorer.Application"
    11 $ie.navigate($url)
    12 $ie.visible=$true
    13 WaitForLoad $ie
    14 #文字输入栏的ID为“kw”,搜索关键字为“abcd”
    15 $ie.Document.getElementById("kw").Value="abcd"
    16 #搜索按钮的ID为“su”,然后调用click()方法点击该按钮
    17 $ie.Document.getElementById("su").click()

    参考:http://msdn.microsoft.com/zh-cn/magazine/cc337896.aspx

    查找页面元素ID方法:

     

    在调用 getElementById() 方法的时候,如果出现如下错误提示:“找不到“getElementById”的重载,参数计数为:“1”。”,可尝试如下解决方法:

    1)getElementByID对PS和IE版本有要求:如下:
      PS2.0 With IE8
      PS3.0 With IE9
    2)兼容性视图设置
    3)关闭保护模式

     注:PS4.0 With IE10下未解决该报错

    #################################

    $ie.Document.getElementByID("table_set_main").getElementsByTagName("input")|?{$_.value -eq "restart"}|%{$_.click()}

    #重启路由:
    http://192.168.5.243/sys_cfg_valid.xgi?exe_str("submit REBOOT")

    2015.3.26补充:

    有的页面中的登录窗口可能会在iframe中,这样的话,直接通过$ie.Document.getElementByID("username")的办法是取不到 username 的输入窗口的,需要先获取到相应的iframe,然后再getElementByID("username"),但是有的iframe不但没有id,也没有name,所以就只能先通过 $login = $ie.Document.getElementsByTagName("iframe") | ? {$_.uniqueNumber -eq 3} 这样的方法获取到相应的iframe了,iframe的uniqueNumber是自己先获取到所有的iframe后,自己找到相应的iframe后找到的,也可以用 sourceindex值。

    可以使用下面几种方法去.getElementById("username"),哪个可用就用哪个。

    $login.Dcument.getElementById("username")
    $login.contentWindow.getElementById("username")
    $login.contentDocument.getElementById("username")

    但如果iframe涉及到了跨域,那使用上面的方法还是无法获取到相应的元素,目前不知如何解决。

    如下图中的 iframe src= https://mailsso.mxhichina.com.....

    但该URL为mail.zanchina.com,就涉及到了跨域。

  • 相关阅读:
    移动端开发常遇问题解答
    CSS属性小结之--半透明处理
    jquery事件代理
    sprite图在移动端的使用
    vertical-align及IE7下的inline-block
    图片延迟加载
    iOS NSInteger/NSUInteger与int/unsigned int、long/unsigned long之间的区别!
    GCD深入理解(1)
    iOS 开发图片资源选择png格式还是jpg格式
    iOS沙盒(sandbox)机制及获取沙盒路径
  • 原文地址:https://www.cnblogs.com/dreamer-fish/p/3994888.html
Copyright © 2011-2022 走看看