如何在 playwright 中运行自定义 js 函数

Posted

技术标签:

【中文标题】如何在 playwright 中运行自定义 js 函数【英文标题】:How to run a custom js function in playwright 【发布时间】:2020-11-23 00:11:09 【问题描述】:

?例如显示警报。我已经尝试过这种方法,但没有成功。

var url = await page.evaluate(async() => 
  await function alert() 
    alert("alert");
  

  await alert();
);

【问题讨论】:

看起来像堆栈溢出...alert fn 不会继续调用自己吗? @weltschmerz 不确定,我想如果你这么说的话。这只是一个例子。对此很陌生。也许这就是它不起作用的原因。可以分享一下解决方法吗? 好吧,首先,我认为您不需要任何 awaitasync 关键字,除了可能是第一个 await (而且您无论如何都用错了它们,因为您在函数声明中使用await)。所以基本上试着去掉page.evaluate调用中的所有asyncawait语句,再次运行它,让我知道你看到了什么。 【参考方案1】:

你会这样做:

await page.evaluate(() => alert("alert"))

但请记住,该警报在 javascript 浏览器世界中是阻塞的,并且会被 Playwright 自动解除。请参阅here 如何与他们互动(例如关闭)

【讨论】:

以上是关于如何在 playwright 中运行自定义 js 函数的主要内容,如果未能解决你的问题,请参考以下文章

浅谈JS的toString

如何修复“TypeError:无法读取未定义的属性 'toString'” |不和谐.js

CheckedListBox - FileInfo 对象的集合 - 显示自定义 ToString

在ToString中使用自定义格式(String,IFormatProvider)

如何使用自定义命令运行节点文件?

JS中全局变量和window自定义属性的区别