/**
*
* Search for an element on the page, starting from an element.
* The located element will be returned as a WebElement JSON object.
* The table below lists the locator strategies that each server should support.
* Each locator must return the first matching element located in the DOM.
*
* @param {String} ID ID of a WebElement JSON object to route the command to
* @param {String} selector selector to query the element
* @returns {String} A WebElement JSON object for the located element.
*
* @see https://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/element/:id/element
* @type protocol
*
*/
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
// istanbul ignore next
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _utilsErrorHandler = require('../utils/ErrorHandler');
var _helpersFindElementStrategy = require('../helpers/findElementStrategy');
var _helpersFindElementStrategy2 = _interopRequireDefault(_helpersFindElementStrategy);
var elementIdElement = function elementIdElement(id, string) {
if (typeof id !== 'string' && typeof id !== 'number') {
throw new _utilsErrorHandler.ProtocolError('number or type of arguments don\'t agree with elementIdElement protocol command');
}
var found = (0, _helpersFindElementStrategy2['default'])(string, true);
return this.requestHandler.create('/session/:sessionId/element/' + id + '/element', {
using: found.using,
value: found.value
});
};
exports['default'] = elementIdElement;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvcHJvdG9jb2wvZWxlbWVudElkRWxlbWVudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQWdCOEIsdUJBQXVCOzswQ0FDNUIsZ0NBQWdDOzs7O0FBRXpELElBQUksZ0JBQWdCLEdBQUcsU0FBbkIsZ0JBQWdCLENBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRTtBQUN6QyxRQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUU7QUFDbEQsY0FBTSxxQ0FBa0IsaUZBQWlGLENBQUMsQ0FBQTtLQUM3Rzs7QUFFRCxRQUFJLEtBQUssR0FBRyw2Q0FBYSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFDdEMsV0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sa0NBQWdDLEVBQUUsZUFBWTtBQUMzRSxhQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7QUFDbEIsYUFBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO0tBQ3JCLENBQUMsQ0FBQTtDQUNMLENBQUE7O3FCQUVjLGdCQUFnQiIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL3Byb3RvY29sL2VsZW1lbnRJZEVsZW1lbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBTZWFyY2ggZm9yIGFuIGVsZW1lbnQgb24gdGhlIHBhZ2UsIHN0YXJ0aW5nIGZyb20gYW4gZWxlbWVudC5cbiAqIFRoZSBsb2NhdGVkIGVsZW1lbnQgd2lsbCBiZSByZXR1cm5lZCBhcyBhIFdlYkVsZW1lbnQgSlNPTiBvYmplY3QuXG4gKiBUaGUgdGFibGUgYmVsb3cgbGlzdHMgdGhlIGxvY2F0b3Igc3RyYXRlZ2llcyB0aGF0IGVhY2ggc2VydmVyIHNob3VsZCBzdXBwb3J0LlxuICogRWFjaCBsb2NhdG9yIG11c3QgcmV0dXJuIHRoZSBmaXJzdCBtYXRjaGluZyBlbGVtZW50IGxvY2F0ZWQgaW4gdGhlIERPTS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gSUQgSUQgb2YgYSBXZWJFbGVtZW50IEpTT04gb2JqZWN0IHRvIHJvdXRlIHRoZSBjb21tYW5kIHRvXG4gKiBAcGFyYW0ge1N0cmluZ30gc2VsZWN0b3Igc2VsZWN0b3IgdG8gcXVlcnkgdGhlIGVsZW1lbnRcbiAqIEByZXR1cm5zIHtTdHJpbmd9IEEgV2ViRWxlbWVudCBKU09OIG9iamVjdCBmb3IgdGhlIGxvY2F0ZWQgZWxlbWVudC5cbiAqXG4gKiBAc2VlICBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3NlbGVuaXVtL3dpa2kvSnNvbldpcmVQcm90b2NvbCMvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmlkL2VsZW1lbnRcbiAqIEB0eXBlIHByb3RvY29sXG4gKlxuICovXG5cbmltcG9ydCB7IFByb3RvY29sRXJyb3IgfSBmcm9tICcuLi91dGlscy9FcnJvckhhbmRsZXInXG5pbXBvcnQgZmluZFN0cmF0ZWd5IGZyb20gJy4uL2hlbHBlcnMvZmluZEVsZW1lbnRTdHJhdGVneSdcblxubGV0IGVsZW1lbnRJZEVsZW1lbnQgPSBmdW5jdGlvbiAoaWQsIHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgaWQgIT09ICdzdHJpbmcnICYmIHR5cGVvZiBpZCAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFByb3RvY29sRXJyb3IoJ251bWJlciBvciB0eXBlIG9mIGFyZ3VtZW50cyBkb25cXCd0IGFncmVlIHdpdGggZWxlbWVudElkRWxlbWVudCBwcm90b2NvbCBjb21tYW5kJylcbiAgICB9XG5cbiAgICBsZXQgZm91bmQgPSBmaW5kU3RyYXRlZ3koc3RyaW5nLCB0cnVlKVxuICAgIHJldHVybiB0aGlzLnJlcXVlc3RIYW5kbGVyLmNyZWF0ZShgL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LyR7aWR9L2VsZW1lbnRgLCB7XG4gICAgICAgIHVzaW5nOiBmb3VuZC51c2luZyxcbiAgICAgICAgdmFsdWU6IGZvdW5kLnZhbHVlXG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgZWxlbWVudElkRWxlbWVudFxuIl19 |