Sha256: 0168a50c847d51315ea3f0b356c77243605d3e9db39c5a50a28154659dcd8312
Contents?: true
Size: 1.31 KB
Versions: 3
Compression:
Stored size: 1.31 KB
Contents
#include "Execute.h" #include "WebPage.h" #include "WebPageManager.h" #include "ErrorMessage.h" Execute::Execute(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) { } void Execute::start() { QString jsonArgs; if (arguments().length()>1){ jsonArgs = arguments()[1]; } else { jsonArgs ="[]"; } QString script = QString("(function(){" " for(var i=0; i<arguments.length; i++) {" " arguments[i] = JSON.parse(arguments[i]);" " var elem_id;" " if (elem_id = arguments[i]['element-581e-422e-8be1-884c4e116226']) {" " arguments[i] = Capybara.getNode(elem_id);" " };" " };" " %1 }).apply(null, %2); 'success'").arg(arguments()[0], jsonArgs); QObject invocation_stub; invocation_stub.setProperty("allowUnattached", false); page()->currentFrame()->addToJavaScriptWindowObject("CapybaraInvocation", &invocation_stub); QVariant result = page()->currentFrame()->evaluateJavaScript(script); if (result.isValid()) { finish(true); } else { finish(false, new ErrorMessage("Javascript failed to execute")); } }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
capybara-webkit-1.15.1 | src/Execute.cpp |
capybara-webkit-1.15.0 | src/Execute.cpp |
capybara-webkit-1.14.0 | src/Execute.cpp |