【问题标题】:Selenium Command硒命令
【发布时间】:2014-03-14 21:01:23
【问题描述】:

当我们当时使用 selenium 命令时,命令未找到且属性未获取?请参阅下面的命令。

<table>
  <tr><td>open</td><td>http://www.wikipedia.org/</td><td></td></tr>
  <tr><td>verifyAttribute</td><td>css=input#searchInput</td><td>(Search Input)</td></tr>
  <tr><td>assertAttribute</td><td>css=input#searchInput</td><td>(Search Input)</td></tr>
  <tr><td>verifyAttribute</td><td>css=input#searchInput</td><td>language</td></tr>
  <tr><td>verifyAttribute</td><td>xpath=//div[2]@class central-featured</td><td>central-featured</td></tr>
  <tr><td>verifyAttribute</td><td>xpath=//div[2]@class central-featured</td><td>search1</td></tr>
  <tr><td>assertAttribute</td><td>xpath=//div[2]@class central-featured</td><td>central-featured</td></tr>
</table>

我在 Mozilla Firefox 和 Ubuntu 中使用 Selenium IDE 2.5.0。

【问题讨论】:

  • 你能展示你测试的 HTML 吗?
  • @t0mppa 当我们保存这个命令或者我们以表格格式写入文本时,我们可以看到 HTML,我们也可以更改它并在 IDE 中直接反映

标签: selenium xpath copy selenium-ide


【解决方案1】:

Xpath //div[2]@class central-featured 无效。如果您想选择一个班级,请尝试将其更改为//div[@class='central-featured']/@class。 您也可以使用assertElementPresent 函数而不是选择属性,如果重点是检查该元素是否存在,即: &lt;tr&gt;&lt;td&gt;assertElementPresent&lt;/td&gt;&lt;td&gt;xpath=//div[@class='central-featured']&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt; 这样就简单多了。

【讨论】:

    【解决方案2】:
    1. 在这种情况下使用 xPath。
    2. 为此使用谷歌浏览器内置的开发者工具
    3. 将光标放在元素上
    4. Ctrl+Shift+C
    5. 点击元素
    6. 点击的元素的代码在底部的短窗口中突出显示
    7. 右键单击突出显示的代码
    8. 选择复制 > 复制 XPath

    您已经复制了该特定元素的 xPath。如图所示:

    Click to see how to copy xPath

    【讨论】:

      【解决方案3】:

      您在 Invalid 中使用的 Xpath。

      您可以按如下方式使用 xpath,通过它您可以找到任何对象的 xpath - 只需要研究这个概念:

      在这里,我们可以看到,我们只想通过在控制台中编写其 xpath 来搜索 Google 搜索 因此,要找到 Google 搜索按钮,我们必须像这样编写 xpath

      //span[@id='gbqfsa']
      

      一旦我们点击进入它就会带来

      [gbqfsa">​谷歌搜索​​],

      这表明 Google 搜索按钮的 xpath 编写正确

      现在假设我们要搜索 Google 搜索按钮,如果我们只是熟悉 id 属性以 gbqfs 开头

      那么我们必须像这样使用函数starts-with

      //span[starts-with(@id,'gbqfs')]
      

      当我们在控制台上按回车键时,它会显示两个按钮,一个是 Google 搜索,第二个是我感觉很幸运

      [
      gbqfsa">​Google Search​​
      ,
      ​I'm Feeling Lucky​​
      ]
      

      所以要找出唯一的 Google 搜索,我们需要完成 gbqfsa 的 id 属性

      “//span[starts-with(@id,'gbqfsa')]
      

      然后点击进入,现在它只会反映

      [
      ​Google Search​​
      ],
      

      证明我们已经为 Google 搜索编写了正确的 xpath

      以同样的方式,我们可以使用 Contains 函数来查找 Google 搜索按钮,如下所示 在这里,我从 gbqfsa 获取了 fsa //span[contains(@id,'fsa')]

      回车希望它会返回

      [
      ​Google Search​​
      ],
      

      如果有多个属性,那么我们可以使用: //span[contains(@id,'fsa') and contains(@class, 'xyz')] 回车希望它会返回

      信息来源:Sumit Mittal Blog

      【讨论】:

      • 您的欢迎 Tehsil - 您能否投票给我的答案或酌情选择。
      【解决方案4】:

      你可以像下面这样使用 CssSelector

      webDriver.findElements(By.cssSelector("div.central-featured")) // for more than 1 elements with same class
      
      webDriver.findElement(By.cssSelector("div.central-featured")) // for 1 element
      

      【讨论】:

        猜你喜欢
        • 2010-12-05
        • 2010-11-23
        • 1970-01-01
        • 2020-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多