【问题标题】:Firepath define xpath, but Selenium IDE -> "locator not found"Firepath 定义 xpath,但 Selenium IDE ->“找不到定位器”
【发布时间】:2014-03-14 09:45:05
【问题描述】:

我有一个按钮:

<button class="pure-field-button" type="button" id="yui_3_5_0_1_1394785205896_6061" style="background-color: rgb(238, 238, 238);"><i class="fa fa-user"></i></button>

这是我在 Firepath 中得到并验证的内容,Firepath 中没有任何错误

//button[contains(@id, 'yui_3_5_0_1') and @class="pure-field-button"]

当我尝试使用 Selenium IDE 时

Command: click
Target: //button[contains(@id, 'yui_3_5_0_1') and @class="pure-field-button"]

Error: locator not found

有什么建议吗?

代码。按钮在最后一行

<head>
<body id="yui_3_5_0_1_1394792924659_843" class="yui3-skin-sam">
<div class="yui3-widget-mask" style="position: fixed; width: 100%; height: 100%; top:   0px; left: 0px; z-index: 2;"></div>
<div id="yui_3_5_0_1_1394792924659_5326" class="yui3-dd-draggable yui3-widget yui3-panel    yui3-widget-positioned yui3-widget-modal yui3-widget-stacked yui3-panel-focused"   style="width: 610px; left: 323px; top: 263.5px; z-index: 2;" tabindex="0">
<div id="yui_3_5_0_1_1394792924659_5327" class="yui3-panel-content yui3-widget-stdmod">
<div class="yui3-widget-hd">Новый абонент</div>
<div id="yui_3_5_0_1_1394792924659_5555" class="yui3-widget-bd">
<div id="yui_3_5_0_1_1394792924659_5554" class="form-container">
<form id="yui_3_5_0_1_1394792924659_2237" class="pure-form pure-g">
<div class="block-overlay" hidden="hidden" style="display: none; width: 594px; height: 177px;">
<fieldset id="yui_3_5_0_1_1394792924659_5553" class="pure-u-1">
<legend>
<div id="yui_3_5_0_1_1394792924659_5552" class="pure-field-group pure-field-with-button required">
<div class="pure-u-11-24 pure-field-label-container">
<div id="yui_3_5_0_1_1394792924659_5551" class="pure-u-11-24">
<button id="yui_3_5_0_1_1394792924659_5550" class="pure-field-button" type="button">

【问题讨论】:

  • 在我看来,要么 a) 元素在页面上不立即可见,也许用户执行的操作实际上导致它可见? b) id 可能会发生很大变化。
  • 实际上我面临一个问题,我无法定义确切的 xpath,所有 div 都是动态的。你能帮我么?我一开始使用 selenium IDE 和 xpath。

标签: selenium xpath selenium-ide firepath


【解决方案1】:

如果欢迎使用 CSS 定位器,您可以试试这个:

css=button[@id^="yui_3_5_0_1"][@class="pure-field-button"]

【讨论】:

  • @ 在选择器中是不需要的,正如问题中提到的,几乎所有的 id 都以“yui_3_5_0_1”开头,所以使用它没有意义,只是类名应该起作用,即, css = .pure-field-button
【解决方案2】:

您可以尝试按 Id 而不是 xpath 搜索。

By.id("yui_3_5_0_1_1394785205896_6061");

让我知道这是否有效。

【讨论】:

    猜你喜欢
    • 2010-10-30
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多