我正在尝试对.jade文件中的按钮onClick使用功能。该函数位于javascript文件中。我想在单击按钮时使用屏幕截图功能。我的问题是我是否正确导入.js文件?另外,我是否正确调用该函数?
运行时,这是我得到的错误:
Invalid or unexpected token on the line button(onClick = #
{screenshots(client)}) GO
Index.jade
extends layout
block content
h1= title
script (src='../scripts/screenshot.js')
p Welcome to #{title}
button(onClick = #{screenshots(client)}) GO
div.Windows
img(src="http://localhost:3000/images/myscreenshot2.png", class="image", width="20%", height="20%")
object(data="http://localhost:3000/test.txt",class = "texttest",width='50%', height='615px' display: block;)
screenshot.js
async function screenshots(client) {
await client.takeScreenshot().then(
client.saveScreenshot("./public/images/myscreenshot2.png")
);
}
async function connection () {
const wdio = require("webdriverio");
const assert = require("assert");
const opts = {
port: 4723,
capabilities: {
platformName: "Android",
platformVersion: '8.1',
deviceName: "emulator-5554",
app: "C:\\Users\\user1\\Downloads\\test.apk",
automationName: "UiAutomator2"
}
};
const fs = require('fs');
const client = await wdio.remote(opts);
您的问题来自服务器端的pug / jade和客户端JavaScript的混合。
让我们关注您的按钮代码:
button(onClick = #{screenshots(client)}) GO
[#{}
是一个pug指令,用于将变量的值插入该空格。在按下按钮时,您只希望它调用本地脚本,而无需使用哈巴狗/玉器:
button(onClick= "screenshots(client)") GO
您得到的错误代码是由于尝试在pug / jade期望一个可以评估为字符串的表达式时调用此函数。