【问题标题】:watir-webdriver click on imagewatir-webdriver 点击图片
【发布时间】:2012-03-07 22:46:55
【问题描述】:

伙计们,

我有一张带有以下 HTML 代码的图片:

<div unselectable="on" class="x-grid-cell-inner x-unselectable" style="; text-align: right;" id="ext-gen1453">
<img alt=""src="data:image/gif;base64,FRFRFR/GFFFFFFFFFF==" class="x-action-col-icon x-action-col-0 folder-action-add folder-action" data-qtip="Add New Music File" id="ext-gen1300">

当我单击图像时,它应该会打开一个弹出窗口,以便我可以添加新的音乐文件,我尝试了一些方法,但我无法单击该图像。有什么建议吗?

非常感谢

【问题讨论】:

  • 你能告诉我们你迄今为止尝试过的代码吗?还有你所说的“我无法点击” - 是否发生错误?还是您只是看不到预期的结果?
  • 感谢乔恩的回复,我尝试了这个@browser.image(:text =&gt; "Add New Music File").click 并收到错误unable to locate element, using {:tag_name=&gt;"img", :text=&gt;"Add New Smart Folder"} (Watir::Exception::UnknownObjectException)
  • 您是否尝试过通过 ID 定位元素(在本例中为“ext-gen1300”)?该标记实际上没有text 属性,只有data-qtip 属性,因此您在上面粘贴的代码找不到它也就不足为奇了
  • 你说的这个按钮是什么?
  • 标记,我更新了,我的意思是图片

标签: ruby watir-webdriver


【解决方案1】:

您可以按班级或班级的部分匹配点击它。

@browser.image(:class=>/folder-action-add folder-action/).click

这里是identifiers you can use for watir 的列表,我认为 watir-webdriver 基本相同。

【讨论】:

    【解决方案2】:

    到目前为止,您还没有一致的方法来实际识别元素。根据您在 cmets 中所说的,您尝试了不存在的 'text' 属性,以及自动生成且每次都不同的 'id' 属性。

    您需要找到一种始终如一地识别元素的方法。通常最好在元素上使用语义类,以使样式和测试更容易且不那么脆弱。您声明了几个类,也许“文件夹操作添加”清楚地表达了按钮的意图?如果没有,您可以添加一个,例如“add-music-file”。

    那么你应该可以使用 watir 通过它的类来选择一个元素,我不熟悉语法,但我猜,@browser.image(:class =&gt; 'add-music-file') 可能会完成这项工作。

    【讨论】:

      猜你喜欢
      • 2012-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-06
      相关资源
      最近更新 更多