@christian-bromann/webdriverio
Version:
A nodejs bindings implementation for selenium 2.0/webdriver
29 lines (22 loc) • 685 B
JavaScript
import fs from 'fs'
const WGXPATH_PATH = require.resolve('wgxpath')
let wgxpathSrc
/**
* Ensures document.evaluate() in the browser.
*/
let ensureClientSideSelectorSupport = function () {
return this.execute('return !!document.evaluate;').then((res) => {
if (res.value) {
return true
}
/**
* Don't read in unless necessary
*/
if (!wgxpathSrc) {
wgxpathSrc = fs.readFileSync(WGXPATH_PATH)
wgxpathSrc = wgxpathSrc.toString().split('module.exports')[0]
}
return this.execute(wgxpathSrc + '\nwgxpath.install(window);')
})
}
export default ensureClientSideSelectorSupport