仅供参考您所拥有的链接是使用通过CSS魔术控制的标准背景图像,该链接的类别上的按键可知道要设置的背景。这就是图像的来源,以及为什么你不把它看作是HTML链接的一部分。
在该控件中,每个选项卡都是无序列表(ul)中的列表项元素(li),并且每个列表项都有一个ID,因此这是最简单的方法来告诉它您尝试在哪个选项卡中单击。
尝试识别的东西开始与作为标签的容器中,作为容器内仅存在一个给定类的每个链路的实例的L1。在这4个链接中,只有一个没有任何简单的标识符,如果你需要点击那个你需要使用的:index,但是对于其他3个使用class的链接应该可以工作。这应该会导致代码不那么脆弱,并且如果选项卡的顺序发生更改或页面被重构,则代码可能会被破坏。
@browser.li(:id,"NetworkAnalysisTabPanel__ext-comp-1038").link(:class, "x-tab-strip-menu").click
如果在ID的末尾数字是随时更改,你可以尝试正则表达式,你可以预测部分匹配,并且是与其他独特
@browser.li(:id,/NetworkAnalysisTabPanel__ext-comp-/).link(:class, "x-tab-strip-menu").click
如果可以的话可靠地识别对象并使用.flash,但.click似乎没有做任何事情,您可能必须改用.fire_event('onclick')或.click。
@browser.li(:id,/NetworkAnalysisTabPanel__ext-comp-/).link(:class, "x-tab-strip-menu").fire_event('onclick')
如果不工作,那么你就需要开始与控制可能会寻求(在HTML这不一定会出现顺便说一句..它可能是在JavaScript或CSS等可能事件试验)
UPDATE 这是具有我们能与是关键相互作用的控制的活例子。在类名上做一些搜索,我找到了一个here,让我用它玩一下,我发现它正在寻找onmousedown。因此,在该网站上,这部作品
browser.li(:id, 'TabPanel1__ctl07').link(:class, 'x-tab-strip-menu').fire_event('onmousedown')
现在,因为这些ID的未必是最好的标识符(使用的.text上保存的标签部分里)更多的挖掘发现了我一些文字,这在一个像这样的菜单应该是唯一的......所以,我们可以改变这一点,使得事情变得更加健壮和清晰,就我点击的标签而言(如果标签变化,这也不会受到破坏。)
browser.li(:text, 'Menu 1').link(:class, 'x-tab-strip-menu').fire_event('onmousedown')
最后,由于点击导致客户端代码执行,你可能需要一个短暂的停顿(一个或两个第二睡眠),以等待页面的那部分重新呈现等
如果我可以给你+100包括HTML在你的“我需要点击”的问题,我会。 – kinofrost
如果HTML是作为代码块而不是图像发布的,我会给他更多的信息,但是图像比没有任何共同点的图像更好。 –
其实我们可能有Z感谢嵌入的东西,检查编辑历史.. –