我使用sahi来自动化网站,当我记录来自sahi记录器的动作,然后将按钮的单击动作(实际上是“ span”)记录为_click(_span("Done[4]"));时,但是当我播放记录的脚本时,该行就失败了因为它没有找到“ Done [4]”。为了解决这个问题,我尝试使用正则表达式单击_span("Done[4]"),但是没有运气。
HTML Source结构:(在弹出窗口[ui-dialog,ui-widget]中显示)

<div class="dashboardDlgButtonPanel">
<div id="addWidgetDone_wrapper" class="input_button  ">
    <div id="addWidgetDone" class="form_input_button">
        <div class="buttonwrapper">
            <a style="width: 49px; height: 41px; display: block;" id="addWidgetDone_Link" class="PrimaryButton" href="#" s1ignore="true" data-role="button" title="">
                <span>Done</span>
            </a>
        </div>
    </div>
</div>
<div id="addWidgetCancel_wrapper" class="input_button  tertiaryButton">
    <div id="addWidgetCancel">
        <div class="buttonwrapper">
            <a id="addWidgetCancel_Link" class="link" href="#" s1ignore="true" title="">Cancel</a>
        </div>
    </div>
</div>
</div>


我一一尝试以下方法:

_click(_span(/Done.*/));
_click(_span(/Done\\[[0-9]\\]/));
_click(_span(/Done\[[0-9]\]/));
_click(_span(/Done/i));
_click(_span("/Done/"));
_click(_span(new Reg Exp("Done\\[[0-9]\\]")));
_click(_span(/Done.*/,_near(_div("addWidgetDone_wrapper[1]"))));
_click(_span(/Done.*/,_near(_div(/addWidgetDone_wrapper\\[[0-9]\\]/))));
_click(_span(/Done.*/,_near(_div(/addWidgetDone_wrapper.*/))));
_click(_span(/Done.*/,_in(_div("addWidgetDone_wrapper[1]"))));
_click(_span(/Done.*/,_in(_div(/addWidgetDone_wrapper/))));
_click(_span(/Done.*/,_in(_div(/addWidgetDone_wrapper.*/))));


和更多其他组合,但它们都不起作用。

参考链接:sahi-link-1sahi-link-2

有人可以告诉我我在做什么错吗?

注意:在已记录的动作“完成[4]”中,数字部分每次都会更改。

最佳答案

请尝试使用

_click(_span(Done[0], _in(_link("addWidgetDone_Link"))));


要么

_click(_span(0, _in(_link("addWidgetDone_Link"))));

关于regex - 如何在Sahi脚本中使用正则表达式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29863511/

10-11 10:24