【问题标题】:How to use Xpath of button in Selenium RC?如何在 Selenium RC 中使用按钮的 Xpath?
【发布时间】:2011-02-08 05:17:36
【问题描述】:

我在 Selenium RC 工作。谁能告诉我如何在 Selenium (Java) 中为按钮编写 xpath?

【问题讨论】:

  • 咳咳。对于一些按钮?什么按钮?在哪里?我又迷路又饿了:(
  • 如果你给按钮一个唯一的 ID 会更容易
  • 这个问题与 XPath 没有任何关系。 XML 文档在哪里以及要在其中选择哪些节点?重新标记。
  • 如果该问题要求 XPath 表达式,则此问题不完整。

标签: java xpath selenium-rc


【解决方案1】:

在将脚本移植到 Selenium RC 之前,您应该在 Selenium IDE (download) 中开发脚本。在 Selenium IDE 中,当您单击网页上的任何内容时,它应该会自动为您单击的元素生成某种选择器。然后,一旦你记录了所有事件,你就可以用你使用的任何语言对其进行格式化,然后将它复制并粘贴到你的 Selenium RC 代码中。

Recorder Javascript 并非万无一失(例如,如果您单击div 会导致一些XMLHttpRequestsetTimeout,它不会被记录)。或者,可能会记录单击,但您可能不喜欢 Selenium 为元素选择的选择器。无论哪种情况,您都必须根据 DOM 结构编写自己的选择器。要查看 DOM 结构,如果您使用的是 Firefox (F12),请打开 Firebug,或者如果您使用的是 Chrome,请打开 Inspector (Ctrl-Shift-J) 幸运的是,Selenium 理解a bunch of selector syntaxes,因此如果您不了解 XPath,可以使用 CSS 选择器。

如果您决定使用 XPath,则必须先学习它。我还没有找到任何好的教程(而且我不是 w3schools 的粉丝)。但是请随意使用我写的bookmarklet to test XPaths。您最终可能会得到 //button[.="text on button"]//input[@value="text on button"] 之类的东西。

【讨论】:

  • XPath 规范清晰易懂:w3.org/TR/xpath。 Michael Kay AFAIR 的 XSLT 2.0 Programmers 参考资料也提供了有关该主题的良好知识。
  • 同意@Alex 关于 XSLT 2.0 Programmer's Reference - 非常好,尽管对于@Srishti 的目的来说可能过于深入。 ibm.com/developerworks/xml/tutorials/x-xpath 有一个很好的免费 XPath 介绍
【解决方案2】:

您可以使用 Firebug 找到按钮 Xpath,它是 Firefox 的附加组件,如上所述,Selenium IDE 也是另一个更容易找到的选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多