Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Watir 无法使用LI标记内的图像单击锚定_Watir_Browser Automation - Fatal编程技术网

Watir 无法使用LI标记内的图像单击锚定

Watir 无法使用LI标记内的图像单击锚定,watir,browser-automation,Watir,Browser Automation,我喜欢HTML <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Transitional//EN"> <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <HTML> <BODY class=" ext-border-box ext-ie ext-ie7 ext-windows" style="OVERFLOW: hidde

我喜欢HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Transitional//EN">
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<HTML>
  <BODY class=" ext-border-box ext-ie ext-ie7 ext-windows" style="OVERFLOW: hidden">
    <DIV class=" x-viewport x-component x-border-layout-ct" id="x-auto-0" style="WIDTH: 1280px; HEIGHT: 862px" __eventBits="16384">
      <DIV class=" x-panel x-component x-border-panel" id="x-auto-9" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; LEFT: 224px; BORDER-BOTTOM-WIDTH: 0px; WIDTH: 1054px; TOP: 35px; BORDER-RIGHT-WIDTH: 0px">
        <DIV class="x-panel-bwrap"><DIV class="x-panel-body x-panel-body-noheader" style="WIDTH: 1054px; HEIGHT: 775px" __eventBits="16384">
          <DIV class=" x-tab-panel x-component" id="x-auto-17" hideFocus style="WIDTH: 1052px" __eventBits="6909">
            <DIV class="x-tab-panel-header x-unselectable" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; WIDTH: 1052px" unselectable="on">
              <DIV class="x-tab-strip-wrap" style="WIDTH: 1052px" role="presentation">
                <UL class="x-tab-strip x-tab-strip-top">
                  <LI class="x-tab-strip-closable  x-component x-tab-strip-active " id="x-auto-17__x-auto-180" hideFocus style="MozOutline: none" __eventBits="125" role="tab">
                    <A class="x-tab-strip-close" role="presentation"></A>
                  </LI>
                </UL>
              </DIV>
            </DIV>
          </DIV>
        </DIV>      
      </DIV>
    </DIV>
  </DIV>
</BODY>
</HTML>

这三种类型都导致元素未找到异常。请让我知道如何单击元素。

嘿,请尝试执行以下操作

 .link(:class, "x-tab-strip-closable x-component x-tab-strip-active").exist? == true
        begin
             browser.link(:class, "x-tab-strip-closable x-component x-tab-strip-active").click

          rescue => e
              rescueHandle(e)
          end
 else
     puts "FAILED! Could not find Class for Component"
         return false
  end

如果出现错误,我想您将了解更多信息。

这应该适用于您提供的HTML:

browser.link(:class => "x-tab-strip-close").click

如果得到“未找到元素”,请检查链接是否在帧中。这也可能是一个时间问题,当您查找它时,链接不在那里。

这看起来像是某些自定义选项卡控件的一部分,该控件在客户端上使用大量CSS和javascript运行。我可以在Sencha“Ext JS”社区论坛上找到一些类似类名的帖子。看看他们的一些作品

与任何有大量客户端代码执行CSS和其他魔术的页面一样,您可能需要在页面加载后等待一两秒钟,以执行客户端代码。所以这将是我尝试的第一件事

如果没有,我注意到很多选项卡代码正在创建onmouseover事件,当我将鼠标移到选项卡上时,DOM的内容正在动态变化,因此您可能必须先查看是否可以在尝试单击该项之前触发“on mouseover”事件,这可能会使该项从可以单击的状态恢复

其他有着相似标签名的人再一次被我发现,我可以在他们的论坛中找到这些类名出现的地方。我还可以在一些选项卡的示例页面中找到这方面的示例(这是一个关闭选项卡的按钮)。关于等待或先在Mouseover上尝试的类似建议也适用于此

如果先触发一个事件不起作用,并且我对控件的来源的看法是正确的,请查看您是否可以在他们的示例/示例中找到您的控件,如果可以,请发布链接,这将让这里的人们与这种风格的控件进行交互,并让我们有更好的机会找出它的原因


几个月前,我们还收到了来自Watir google group的一封邮件,但原始海报(“Mahesh”)从未回复可能的答案,因此不知道他们是否/如何解决了这个问题

“browser”的意思是浏览器对象,比如“ie”,谢谢你的回复,但是。存在吗?是错误的,ie开发者显示如下htmlI我无法将所有ie开发者工具输出粘贴到这里。我可以在此论坛中附加文件吗?我也可以将代码发送到你的电子邮件中,如果你想让我…仅供参考链接中没有图像,链接实际上是空的。您看到的很可能是CSSie为特定类放置的“背景图像”。link(:class,“x-tab-strip-close”)。是否存在?返回true,但ie.link(:class,“x-tab-strip-close”)可见吗?返回false。我清楚地看到了元素,我不知道为什么。可见吗?应该返回false。使用QTP 9.5尝试了相同的活动,使用了相同的属性并成功单击了元素。我们的应用程序没有框架,但它使用了大量的panelsthank来获取信息。我能够找到我控制的源头。我的要求是关闭该选项卡。希望此帮助扫描任何人,请为此提供解决方案?正如我已经发布的,我已经找到了我的控件()的源代码,之后没有任何进展(我仍然无法关闭tab控件)。如果很快找不到解决方案,我们可能不得不中止在项目中使用WATIR:(很抱歉,我正忙于寻找工作,然后又开始了新的工作。当我与您提供的代码示例交互时,我注意到关闭选项卡的小x图标会在我将鼠标移到其上时发生反应和更改。这意味着它正在做一些与鼠标悬停事件相关的事情,它可能正在做的事情之一是:更改对象的可见性。首先尝试对该元素触发onmouseover事件,等待一秒钟,让任何客户端代码执行该操作,然后查看是否可以单击该对象。
browser.link(:class => "x-tab-strip-close").click