我正在尝试使用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。
答案 0 :(得分:0)
尝试moveToFirst()
这也与点击相同但键盘笔划相同。希望它有效。