如何使用watir访问以下元素。我总是会出错

时间:2019-02-26 18:46:44

标签: javascript html css watir

如何使用watir访问以下元素。我总是会出错。

 <div style="visibility: visible;"><div id="nav">
    <div id="nav-toggle"></div>
        <ul id="itens-menu">

            <li>
                <a href="#cartao-01">
                    <i class="icon-table"></i>ponto 01</a>
            </li>

            <li class="ativo">
                <a href="#batidas-02">
                    <i class="icon-clock"></i>Inclusão de Ponto</a>
            </li>

            <li>
                <a href="#calculadora-03">
                    <i class="icon-calculator"></i>Calculator</a>
            </li>

        </ul>
    </div>
</div>

我正在尝试类似的事情:

site = Watir::Browser.start(SITE1, :chrome)

site.ul(:id => "itens-menu").li(:class => "ativo").i(:class => "icon-clock").click

如何单击此元素?

<i class = "icon-clock"> </ i> I

在上述示例结构中

1 个答案:

答案 0 :(得分:0)

您是否尝试过在交互之前等待元素出现?

site.element(class: "icon-clock").wait_until(timeout = 30, &:present?).click

或者,您可以使用fireevent单击

site.element(class: "icon-clock").wait_until(timeout = 30, &:present?).fire_event :click

'timeout'是可选的,wait_until将等待watir默认超时(5秒)。 在这里,我在上面的示例代码中等待30秒。