Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium click不会触发Chrome上的javascript函数_Javascript_Html_Angularjs_Selenium - Fatal编程技术网

Selenium click不会触发Chrome上的javascript函数

Selenium click不会触发Chrome上的javascript函数,javascript,html,angularjs,selenium,Javascript,Html,Angularjs,Selenium,下面是HTML代码 <table class="table-main "> <thead> <tbody> <!----> <tr class="" ng-if="mapCtrl.isAdded" style=""> <td/> <td> <td> <td> <td cla

下面是HTML代码

<table class="table-main ">
  <thead>
  <tbody>
       <!---->
     <tr class="" ng-if="mapCtrl.isAdded" style="">
        <td/>
        <td>
        <td>
        <td>
        <td class="table-close-btn">
           <i class="form-check tick-mark" ng-mousedown="mapCtrl.createTable()"/>
           <i class="form-close" ng-click="mapCtrl.cancelTable()"/>
        </td>
    </tr>
    <!---->
    <!---->
    <tr ng-mousedown="mapCtrl.createTable()" ng-if="mapCtrl.showEmpty">
    <!---->
    <!---->
  </tbody>
</table>

请勾选粗体线条
*.*
我尝试通过以下方式通过selenium单击元素,但没有一种方法在chrome上有效:

  • Selenium default.click()使用xpath和css标识元素<代码>驱动程序.findElement(通过.cssSelector(“i[ng mousedown='mapCtrl.createTable()']))。单击()
  • Selenium Action类由
    moveToElement(el)创建。单击()
  • 带有
    js.executeScript(“参数[0]。单击();”,el)的Java脚本执行器
    js.executeScript(“返回参数[0].innerHTML”,el)
    ;及

    JavascriptLibrary jsLib=新建JavascriptLibrary(); jsLib.callEmbeddedSelenium(驱动程序,“triggerMouseEventAt”,el,“click”,“0,0”)

  • 没有函数帮助单击元素。有人能帮忙吗


    如果您还需要了解其他信息,请随时联系。

    尝试使用此元素的选择器路径:

    <td class="table-close-btn">
    <i class="form-check tick-mark" ng-mousedown="mapCtrl.createTable()"/>
    

    你能考虑按实际的要求缩进HTML吗?谢谢它在Firefox上工作吗?如果不是,则单击可能在侦听器被angular设置之前执行。尝试在单击之前等待,以查看情况是否如此。还要注意,Javascript
    .click()
    不会发出鼠标事件。因此,请确保使用Selenium
    。单击()
    @FlorentB。它在Firefox上运行良好。我尝试了5秒的睡眠,但还是不起作用Chrome@DebanjanB:嗨,德班詹,我已经做了改变。请查收
    WebElement element = driver.findElementBy(By.cssSelector("td.table-close-btn > i.form-check.tick-mark"));
    element.click();