Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Selenium单击javascript链接_Java_Selenium - Fatal编程技术网

Selenium单击javascript链接

Selenium单击javascript链接,java,selenium,Java,Selenium,我在使用Java和Spring编写Selenium测试时遇到了一个问题 我需要在包含多个删除按钮(文件列表)的页面上单击删除按钮。使用Selenium IDE生成以下代码 selenium.单击(“链接=删除”) 这基本上是无用的。我还没有弄清楚如何针对表中包含的特定元素。以下是消息来源: <tr onmouseover="mouseOver(this)" onmouseout="mouseOut(this)"> <td class="thumbnail" align="c

我在使用Java和Spring编写Selenium测试时遇到了一个问题

我需要在包含多个删除按钮(文件列表)的页面上单击删除按钮。使用Selenium IDE生成以下代码

selenium.单击(“链接=删除”)

这基本上是无用的。我还没有弄清楚如何针对表中包含的特定元素。以下是消息来源:

<tr onmouseover="mouseOver(this)" onmouseout="mouseOut(this)">
  <td class="thumbnail" align="center"><img src="/services/images/nav/resources.gif" /></td>
  <td colspan="3" onClick="nav('FileName'); return false">
    <a href="javascript:nav('FileName')">Basics</a></td>
 <td>
   <a class="actionButton" href="javascript:del('FileName')">Delete</a></td>
<td>&nbsp;</td>
</tr>   

我也需要 a) 找到返回正确删除操作或
b) 通过java代码发送javascript命令本身。我也不知道该怎么做,有人能给我指出正确的方向吗?

有一个firefox扩展名为。您可以在firefox中打开html源代码,然后获取所需的XPath。但是,我记得有些XPath表达式在Selenium中无法正常工作时遇到问题。

文件名部分是唯一的吗

如果是这样,合适的XPath应该是:

selenium.click("//a[@href=\"javascript:del('FileName')\"")

另外,您是否单击了Selenium IDE中的第一个删除链接?如果是这样,请尝试单击后续按钮中的一个,然后查看结果。

如果这是一个查找按钮xpath的工具,则有多种选项:

  • 使用(Firefox插件):如果右键单击firebug的HTML选项卡中的元素,可以将其Xpath表达式复制到剪贴板
  • 使用(Firefox插件):一个允许您生成、编辑和检查xpath表达式的插件

我倾向于将CSS用于Selenium标识符,原因有二-

  • 可读性
  • 浏览器独立性(IE上XPath识别速度较慢)
  • 也就是说,限制是具有相同名称的多个元素应该具有可区分的属性

    在您的源代码中,带有CSS标识符的Selenium命令将读取:

    selenium.click("css=a.actionButton[href=javascript:del('FileName')]");
    

    如果href属性确实提供了其他删除按钮之间的区别

    谢谢大家!最后我得到了这个xpath:selenium;这就像一个符咒!如果下面的答案帮助了你,考虑把最有用的答案标记为答案。至少要考虑对所有帮助你的答案进行投票。