【问题标题】:Failed click using Selenium and XPath使用 Selenium 和 XPath 的点击失败
【发布时间】:2015-02-23 19:50:09
【问题描述】:

对于网络应用程序的测试自动化,我目前使用的是 Robot 框架和 Selenium 库。有一刻我想点击一个按钮,然后我等待一个元素出现。唉,点击虽然在日志中记录成功,但并没有导致我希望的元素幻影。事实上,就好像点击从未发生过一样。

要单击按钮,我使用 xpath 检索它。使用 Firepath,我成功验证了该元素是唯一的并且确实存在,但它显示的内容让我认为我找到了按钮未正确单击的原因

您可以在浅蓝色中看到我要单击的按钮,并用虚线包裹由 firepath 检测到的区域。

是否有可能点击按钮旁边而不是它?

这是被指控的行:

Click Element     xpath=(.//button[contains(@id,'editContract')])[1

编辑: 页面的 HTML:

<button id="listContractTableForm:listContractTable:0:editContract" name="listContractTableForm:listContractTable:0:editContract" type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only" onclick="window.location.href='destinationPage?faces-redirect=true&amp;contractEntityContractId=678'">
    <span class="ui-button-icon-left ui-icon ui-c ui-icon-search"></span>
    <span class="ui-button-text ui-c">ui-button</span>
</button>

【问题讨论】:

  • 这里是按钮的html代码,很抱歉我不能显示太多代码。
  • 最好的猜测是您的 xpath 匹配 DOM 中的另一个元素,而是单击该元素。使用 Get Matching Xpath Count 尝试您的 xpath,看看它返回了多少结果。

标签: selenium xpath click robotframework


【解决方案1】:

假设您想要 span 类包含 ui-button-icon-left ui-icon ui-c ui-icon-search

//button[contains(@id,'listContractTableForm')]/span[contains(@class,'ui-icon-search')]

如果您想要 spanclass="ui-button-text ui-c",只需在 xpath 中更改 class

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 2021-06-09
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    相关资源
    最近更新 更多