Socket
Socket
Sign inDemoInstall

webdriver-sizzle

Package Overview
Dependencies
Maintainers
3
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webdriver-sizzle - npm Package Compare versions

Comparing version 0.0.6 to 0.2.0

LICENSE

67

lib/webdriver_sizzle.js
// Generated by CoffeeScript 1.7.1
var fs, path, selenium;
var fs, path;
selenium = require('selenium-webdriver');
path = require('path');

@@ -10,18 +8,61 @@

module.exports = function(driver) {
var all, one, sizzleCode;
sizzleCode = fs.readFileSync(path.join(__dirname, '../lib', 'sizzle.min.js'));
/*
@param driver - a built driver instance
@param selenium - the selenium module.
very important that these are using the same code/version,
b/c of the library's global control flow.
*/
module.exports = function(driver, selenium) {
var Deferred, WebElement, checkSizzleExists, injectSizzle, one;
if (selenium == null) {
selenium = require('selenium-webdriver');
}
if (!(driver instanceof selenium.WebDriver)) {
throw new Error("Driver passed to webdriver-sizzle must be a WebDriver instance.");
}
Deferred = selenium.promise.Deferred;
WebElement = selenium.WebElement;
checkSizzleExists = function() {
return driver.executeScript(function() {
return window.Sizzle != null;
});
};
injectSizzle = function() {
var sizzleCode;
sizzleCode = fs.readFileSync(path.join(__dirname, '../lib', 'sizzle.min.js'));
return driver.executeScript("var module = {exports: {}};\n" + sizzleCode + "\nwindow.Sizzle = module.exports;");
};
one = function(selector) {
var element;
element = driver.findElement(selenium.By.js("var module = {exports: {}};\n" + sizzleCode + "\nvar Sizzle = module.exports;\nreturn (Sizzle(" + (JSON.stringify(selector)) + ") || [])[0];"));
element.then(null, function(err) {
var d;
d = new Deferred;
checkSizzleExists().then(function(sizzleExists) {
if (!sizzleExists) {
return injectSizzle();
}
}).then(function() {
var elementPromise;
elementPromise = driver.findElement(selenium.By.js(function(selector) {
return (window.Sizzle(selector) || [])[0];
}, selector));
return d.fulfill(elementPromise);
}).thenCatch(function(err) {
throw new Error("Selector " + selector + " matches nothing");
});
return element;
return new WebElement(driver, d.promise);
};
all = function(selector) {
return driver.findElements(selenium.By.js("var module = {exports: {}};\n" + sizzleCode + "\nvar Sizzle = module.exports;\nreturn (Sizzle(" + (JSON.stringify(selector)) + ") || []);"));
one.all = function(selector) {
return checkSizzleExists().then(function(sizzleExists) {
if (!sizzleExists) {
return injectSizzle();
}
}).then(function() {
var elementPromise;
return elementPromise = driver.findElements(selenium.By.js(function(selector) {
return window.Sizzle(selector) || [];
}, selector));
});
};
one.all = all;
return one;
};

13

package.json
{
"name": "webdriver-sizzle",
"version": "0.0.6",
"version": "0.2.0",
"description": "Locate a selenium-webdriver element by sizzle CSS selector",
"author": "Good Eggs <open-source@goodeggs.com>",
"contributors": [
"Adam Hull <adam@hmlad.com>"
"Adam Hull <adam@hmlad.com>",
"Ben Buckman <ben@benbuckman.net>"
],

@@ -26,5 +27,4 @@ "main": "lib/webdriver_sizzle.js",

"mocha": "~1.x.x",
"selenium-webdriver": "~2.39.0",
"selenium-webdriver": ">=2.42.0",
"phantomjs": "~1.9.7-1",
"jsmin": "~1.0.1",
"sizzle": "~1.1.0",

@@ -34,3 +34,3 @@ "uglify-js": "~2.4.12"

"peerDependencies": {
"selenium-webdriver": ">=2.39.0"
"selenium-webdriver": ">=2.42.0"
},

@@ -42,3 +42,4 @@ "scripts": {

"prepublish": "npm run-script build"
}
},
"license": "MIT"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc