-3

我想要一个针对以下场景的解决方案:在一个页面中,我正在上传一个 xml,在单击上传按钮时,我将收到一个弹出窗口进行确认(我能够检测到这一点),之后我再次收到一个弹出我无法检测到的(页面仍在浏览器中加载)。请帮我解决这个问题。

我已经尝试过很多解决方案,比如:get window ids,titles。

谢谢

4

3 回答 3

1

你可以使用 -

$sel->get_confirmation()

这将检索在上一个操作期间生成的 JavaScript 确认对话框的消息。默认情况下,confirm 函数将返回 true,与手动单击 OK 的效果相同。这可以通过事先执行chooseCancelOnNextConfirmation 命令来改变。如果生成了确认但您没有获取/验证它,则下一个 Selenium 操作将失败。

注意:在 Selenium 下,JavaScript 确认不会弹出可见对话框。

注意:Selenium 不支持在页面的 onload() 事件处理程序中生成的 JavaScript 确认。在这种情况下,将生成一个可见对话框,Selenium 将挂起,直到您手动单击确定。

返回最近的 JavaScript 确认对话框的消息。

在使用 perl 和 RC 时,您应该始终参考WWW::Selenium - Perl Client 。

于 2013-04-11T16:40:16.513 回答
0

我发现了问题@amey ...我正在尝试上传一个实际上由于firefox的一些安全问题而实际上不允许的文件...实际上这个 http://cakebaker.42dh有一个解决方法.com/2006/03/29/file-upload-with-selenium/ .....由于 Firefox 已删除对 enablePrivilege https://support.mozilla.org/的支持,因此无法与最新的 Selenium RC 和 Firefox 一起使用zh-CN/questions/944433。 所以似乎是转移到WEBDRIVER的任务...... http://git.erp5.org/gitweb/erp5.git/commitdiff/06898bbfae4f238b7e79ce05048646529216064e 感谢您的支持... .

于 2013-04-16T16:45:52.553 回答
0

我的解决方案是使用以下功能:

$driver->execute_script("Events.invokeEvent('UserDetailPage:UserDetailScreen:UserDetailToolbarButtonSet:UserDetailToolbarButtons_DeleteUserButton_act', true);");

分析按下接受按钮时 javascript 代码的作用。并在函数中执行该代码。

于 2017-02-16T13:52:03.493 回答