首页 文章

我无法使用Selenium Webdriver单击Web元素

提问于
浏览
0

我正在尝试使用selenium Webdriver自动化应用程序 . 我经常遇到点击操作在WebElements上不起作用的场景 .

例如,在html块中看起来像:

<div id=staticid>
  <table>
    <tbody>
      <tr id="tr1" class="class1" tabindex="-1" data-recordindex="0" data-recordid="1" data-boundview="gridview-1211" role="row">
        <td id="td1" class="class2 " role="gridcell">
          <div class="class3 " style="text-align:left;" unselectable="on">Content 1</div>
        <td id="td2" class="class6" role="gridcell">
          <div class="class5" style="text-align:center;" unselectable="on">
            <img class="class4" src="chekboximage">
          </div>
        </td>
        <td id="td3" class="class8" role="gridcell">
          <div class="class5" style="text-align:center;" unselectable="on">
            <img class="class4" src="checkboximage">
          </div>
        </td>
      </tr>
    </tbody>
  </table>
</div>

id是动态生成的,类就像“grid-inner ...”等 . (我已将它们替换为更小)最后两个元素显示为复选框 . 单击该块时,td块的类将更改,并且似乎单击该复选框 .

我尝试使用driver.findElement(By.xpath()),csspath和所有内容单击复选框 . 点击操作似乎成功执行,但是没有发生所需的结果,即检查的复选框 .

我使用Selenium IDE验证了我的xpath和csspath . 使用“查找”选项正确定位元素 . 单击操作也会执行,但复选框仍未选中 .

我一直试图将这项工作推迟近一周 . 有人可以帮帮我吗?

代码确实在点击时改变了图像(我在点击之前和之后比较了图像源) . 但是没有可见的“onclick()”调用(我不确定是否有其他方法可以在click上调用java脚本功能 . 如果有,请告诉我 . )无论如何,我试着点击块 . 它适用于Se-IDE和Se-IEDriver,但不适用于FireFoxDriver .

1 回答

  • 0

    尝试 driver.findElement(By.xpath()).sendKeys(Keys.ENTER); 这也与点击相同,但键盘敲击 . 希望它有效 .

相关问题