我无法使用SeleniumWebDriver单击Web元素
我正在尝试使用SeleniumWebDriver自动化应用程序。我经常遇到单击操作在WebElements上不起作用的场景 例如,在html块中,类似于:我无法使用SeleniumWebDriver单击Web元素,selenium,selenium-webdriver,Selenium,Selenium Webdriver,我正在尝试使用SeleniumWebDriver自动化应用程序。我经常遇到单击操作在WebElements上不起作用的场景 例如,在html块中,类似于: <div id=staticid> <table> <tbody> <tr id="tr1" class="class1" tabindex="-1" data-recordindex="0" data-recordid="1" data-boundview="gridview
<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>
内容1
ID是动态生成的,类类似于“grid inner..”等等。(我已经替换了它们以使其更小)
最后两个元素显示为复选框。
单击块时,td块的类别将更改,并且复选框将显示为已单击
我尝试使用driver.findElement(By.xpath())、csspath和其他工具单击复选框。单击操作似乎已成功执行,但未出现所需的结果,即选中的复选框
我使用Selenium IDE验证了xpath和CSSPATH。使用“Find”选项可以正确定位元素。单击操作也会执行,但复选框保持未选中状态
我已经试着把这件事做完差不多一个星期了。
谁能帮帮我吗
代码似乎在单击时更改了图像(我比较了单击前后的图像源)。但是没有可见的“onclick()”调用(我不确定是否有其他方法在单击时调用java脚本函数。请务必让我知道是否有)。不管怎样,我试着点击了这个方块。它适用于Se IDE和Se IEDriver,但不适用于FireFoxDriver。尝试
driver.findElement(By.xpath()).sendKeys(Keys.ENTER)代码>这也与单击相同,但使用键盘笔划。希望它能起作用。您需要显示您遇到问题的代码。注意,您提供的示例HTML没有任何复选框。图像在您看来很可能是一个复选框,背景中可能有一些javascript事件来回切换图像。可能有一个javascript onClick处理程序可以更改td
的类?你能检查这是在哪个元素上注册的吗?使用Selenium(td
、div
或img
)查找并单击哪个元素?另外,您的Selenium代码是否可能在动态元素生成完成之前或事件处理程序注册之前运行?您是否尝试过MoveToElement方法?是的,Mike,我尝试过。它的行为方式相同