我正在自动化一家网站时,遇到了一个弹出对话框的问题。由于某种原因,它无法点击对话框中的按钮,但与其他所有东西都能很好地交互。它还能毫无问题地识别该按钮,并在运行时我可以看到它确实点击了该按钮,因为颜色发生了改变,所以我有点困惑。
我的代码最初看起来很明显:-
WebElement targetElement = waitforElement(threadSesh);
targetElement.click();
但是当我将它更改为以下内容时,一切似乎都运行得非常正常!
WebElement targetElement = waitforElement(threadSesh);
Actions action = new Actions(threadSesh.driver);
action.click(targetElement);
action.perform();
有人能告诉我为什么一个方法不起作用,而另一个方法却很好用吗?此外,无论是否有帮助,该网站都是使用 Twitter Bootstrap 构建的,如果这有任何区别,但按钮本身非常基本,就像这样。
<div class="modal hide fade in" style="width: 481px; margin-left: -241px; padding: 15px; display: block;" role="dialog" data-backdrop="static" data-keyboard="false" aria-hidden="false">
...
<div class="modal-footer">
<a id="save-EditDetails" class="btn btn-small btn-info" type="button" style="margin-right: 7px; padding-left: 15px; padding-right: 15px;" data-bind="click: ok" href="#">Save</a>
</div>
</div>