当前位置: 首页 > 知识库问答 >
问题:

在selenium IDE中使用fire Event()函数的onClick事件不起作用

丰胤运
2023-03-14
<div id="member_sel_div" style="">
    <table class="dataTable" width="100%" cellspacing="0" cellpadding="0" border="0" summary="">
        <tbody>
               <tr class="heding">
                   <tr class="odd">
                           <td valign="top" width="4%">

                               <input id="mgrp_-1" class="reset" type="checkbox" onclick="showMembers(-1, 0)" value="-1" name="member_group_id[]" style="position: absolute; z-index: -1; visibility: hidden;"/>

                               <span class="jquery-checkbox jquery-checkbox-checked" style="-moz-user-select: none;">


                              <span class="mark jquery-checkbox-hover">

                              <img width="24" height="24" src="/purebenefits/dev/images/empty.png"/>

                             </span>
                         </span>
                    </td>

                   <td valign="top" style="padding-left:0;">NO GROUP</td>

            </tr>

我正在处理一个测试用例,其中会出现多个复选框,并单击每个复选框,它将调用一个函数show成员(复选框值,0)

在我的测试用例中,我首先计算了复选框的数量,然后使用循环,我也可以单击每个复选框,但在单击复选框时,它的onClick函数不会触发,这就是为什么我无法继续进行的原因。我也使用了火事件函数,但结果是一样的

我正在使用selenium IDE,上面给出了本节的html代码,下面给出了我为SeleniumIDE编写的代码

<tr>
    <td>assertTextPresent</td>
    <td>New Quote</td>
    <td></td>
</tr>
<tr>
    <td>select</td>
    <td>name=insurance_type_id</td>
    <td>label=Group Life Assurance</td>
</tr>
<tr>
    <td>verifyTextPresent</td>
    <td>Policy Features </td>
    <td></td>
</tr>
<tr>
    <td>assertTextPresent</td>
    <td>Bronze</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>//div[@id='product_list_div']/table[@class='priceTable']/tbody/tr/th[4]/label/input[@id='prodid_6']</td>
    <td></td>
</tr>
<tr>
    <td>storeXpathCount</td>
    <td>//div[@id='member_sel_div']/table[@class='dataTable']/tbody/tr[@class='odd']/td/input[@type='checkbox']/</td>
    <td>count</td>
</tr>
<tr>
    <td>echo</td>
    <td>${count}</td>
    <td></td>
</tr>
<tr>
    <td>getEval</td>
    <td>alert(&quot;Number of Group : ${count}&quot;)</td>
    <td></td>
</tr>
<tr>
    <td>store</td>
    <td>1</td>
    <td>j</td>
</tr>
<tr>
    <td>store</td>
    <td>1</td>
    <td>i</td>
</tr>
<tr>
    <td>store</td>
    <td>javascript{storedVars.count;}</td>
    <td></td>
</tr>
<tr>
    <td>while</td>
    <td>storedVars.i&lt;=${count}</td>
    <td></td>
</tr>
<tr>
    <td>echo</td>
    <td>${i}</td>
    <td></td>
</tr>
<tr>
    <td>echo</td>
    <td>${j}</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>${i}-${j}</td>
    <td>k</td>
</tr>
<tr>
    <td>storeEval</td>
    <td>window.document.getElementsByName('member_group_id[]')[${k}].value</td>
    <td>abc</td>
</tr>
<tr>
    <td>echo</td>
    <td>${abc}</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>//div[@id='member_sel_div']/table[@class='dataTable']/tbody/tr[@class='odd']/td/input[@value='${abc}']/</td>
    <td></td>
</tr>
<tr>
    <td>fireEvent</td>
    <td>//div[@id='member_sel_div']/table[@class='dataTable']/tbody/tr[@class='odd']/td/input[@value='${abc}']</td>
    <td>&quot;click&quot;</td>
</tr>
<tr>
    <td>store</td>
    <td>javascript{storedVars.i++;}</td>
    <td></td>
</tr>
<tr>
    <td>endWhile</td>
    <td></td>
    <td></td>
</tr>

共有1个答案

胡致远
2023-03-14

在应用fireEvent之前,您是否尝试过关注该元素?这可能是一个案例。

 类似资料:
  • 为什么onclick不起作用?但是,当我在不同的脚本标记中定义函数时,它是有效的。

  • 我试图在单击按钮或菜单项时将用户重定向到另一个页面。不幸的是,onClick函数只在运行时起作用,在实际单击时不起作用,我不知道为什么。 这是我的功能 如果我调用函数时没有这样的回调 它在运行时调用,而不是在实际单击按钮或菜单项时调用。被调用的函数没有任何问题(我尝试过在单击时console.log一些东西,但没有结果)。 我错过了什么或做错了什么?

  • 问题内容: 以下代码从文件加载html内容我使用了该线程 请让我知道问题是什么?我希望这是愚蠢的:) 编辑:正确的代码 谢谢乔恩和大家! 问题答案: callback()函数在响应到达时运行,并且不在方法范围内运行,因为该函数已经结束。 您可以在调用中使用属性来设置回调函数的上下文:

  • 问题内容: 有什么方法可以使用html属性调用多个JavaScript函数吗? 问题答案: onclick=”doSomething();doSomethingElse();” 但实际上,最好不要使用Java,而是通过Javascript代码将事件处理程序附加到DOM节点。这被称为不引人注目的javascript。

  • 问题内容: 有两个函数hello1()和hello2()。 在中,延迟3秒后打印“ hello1”。 但是在中,它会立即打印“ hello2”。 我认为是因为它必须在setTimeout中使用函数名称。 如果我想在延迟3秒后执行带有参数的函数怎么办? 因为我想将参数传递给函数,所以我不能只在setTimeout中使用函数名,例如 问题答案: 当对函数使用括号时,将立即执行。 要将函数与参数一起使用

  • 这里有个问题(如果你可以这么叫的话),每次我编写包含函数的JS时,它都不起作用。我知道这和空格、换行或诸如此类的东西有关。也许我不知道规则或语法。我正在使用Sublime文本3(如果它是相关的)。如果你向我解释原因,我会很感激,这样我就不会再面临这个问题了。这是一个在我的计算机上不起作用的代码 null null