我可以使用selenium-webdriver来调用executeScript()
。
const script = fs.readFileSync(__dirname+'/script.js', 'utf8');
await driver.executeScript(script);
有效
如何使用webdriver.io执行此操作?如果我使用execute()
,则会出现以下错误:
const script = fs.readFileSync(__dirname+'/script.js', 'utf8');
await browser.execute(script);
ERROR webdriver: Request failed due to Error: {"errorMessage":"Unexpected token ')'"
答案 0 :(得分:0)
如果您查看the documentation,则表明您需要传递函数而不是文件:
it('should inject javascript on the page', () => {
const result = browser.execute((a, b, c, d) => {
// browser context - you may not access client or console
return a + b + c + d
}, 1, 2, 3, 4)
// node.js context - client and console are available
console.log(result) // outputs: 10
});
如果要以字符串形式传递函数,请像以前一样使用executeScript。