使用 xpath 时 Selenium 测试失败

Selenium test fails when using xpath

我正在使用带有 selenium2library 的机器人框架进行一些测试,这是我的测试文件:

*** Settings ***

Library Selenium2Library

*** Variables ***

${URL_LOCATION}     http://localhost:9000/apps/depot/#
${BROWSER_TYPE}     chrome

*** Test Cases ***

Open browser to DEPOT page

    Open Browser     ${URL_LOCATION}
    Click Element    xpath=//div[@class="btn action xlarge nav-next"]

问题是第一步"Open Browser"成功后,第二步就失败了,我不明白为什么...

这是证明该元素存在的页面的一部分:

 <div class='block action-block'>
    <div class='btn action xlarge nav-next'>{{t step.next.caption }}
 </div>

谢谢...

鉴于页面片段很短,很难判断。但我会尝试以下操作:

  • 在单击元素之前使用 Wait Until Element Is Visible。使用 Set Selenium Timeout 适当地为此设置超时。您至少应该得到一条更好的错误消息。
  • 使用 Firefox 控制台(或其他浏览器中的类似控制台)验证您的 Xpath 表达式。
  • 使用相对于其他元素的 Xpath 表达式。类似于 //div[@class='block action-block']/div
  • 直接执行一些Javascript。例如,如果有一些带有 id 的元素,你可以这样调用 Execute Javascript document.getElementById("parent").children[0].click()
  • 尝试其他点击命令,例如 Click Button。我最近遇到了 Click Element locator 不起作用但 Click Link linkname 起作用的问题。

最后,根据我的经验,我总是会在 Xpath 表达式中使用单引号。但我想这不是这里的问题。