Sha256: c3ecde8c11f4411499ceea7440346966ba6603f180a310efb26945643eee3389

Contents?: true

Size: 1.99 KB

Versions: 2

Compression:

Stored size: 1.99 KB

Contents

// stolen from injectableSelenium.js in WebDriver
var browserbot = {
    createEventObject : function(element, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown)  {
        var evt = element.ownerDocument.createEventObject();
        evt.shiftKey = shiftKeyDown;
        evt.metaKey = metaKeyDown;
        evt.altKey = altKeyDown;
        evt.ctrlKey = controlKeyDown;
        return evt;
    },

    triggerEvent: function(element, eventType, canBubble, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown) {
        canBubble = (typeof(canBubble) == undefined) ? true: canBubble;
        if (element.fireEvent && element.ownerDocument && element.ownerDocument.createEventObject) {
            // IE
            var evt = this.createEventObject(element, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown);
            element.fireEvent('on' + eventType, evt);
        } else {
            var evt = document.createEvent('HTMLEvents');

            try {
                evt.shiftKey = shiftKeyDown;
                evt.metaKey = metaKeyDown;
                evt.altKey = altKeyDown;
                evt.ctrlKey = controlKeyDown;
            } catch(e) {
                // Nothing sane to do
                }

            evt.initEvent(eventType, canBubble, true);
            return element.dispatchEvent(evt);
        }
    },

    getVisibleText: function() {
        var selection = getSelection();
        var range = document.createRange();
        range.selectNodeContents(document.documentElement);
        selection.addRange(range);
        var string = selection.toString();
        selection.removeAllRanges();

        return string;
    },

    getOuterHTML: function(element) {
        if (element.outerHTML) {
            return element.outerHTML;
        } else if (typeof(XMLSerializer) != undefined) {
            return new XMLSerializer().serializeToString(element);
        } else {
            throw "can't get outerHTML in this browser";
        }
    }


};

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
watir-webdriver-0.1.5 lib/watir-webdriver/browserbot.js
watir-webdriver-0.1.4 lib/watir-webdriver/browserbot.js