问题标签 [playwright]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6453 浏览

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

如何在 playwright 中运行自定义 js 函数?例如显示警报。我已经尝试过这种方式,但没有奏效。

0 投票
0 回答
365 浏览

javascript - 滚动到框架内的元素

我目前正在尝试与剧作家进行测试。我有一个网站,其中 DOM 元素位于框架内。

我试图创建一个 scrollIntoView 函数来获取选择器并滚动到视图中,但它似乎不起作用。

如何滚动到框架内的元素?

0 投票
1 回答
1013 浏览

node.js - 使用 Playwright 制作 PDF 时控制边距

从无头 chrome Playwright 会话(下面的代码)制作 PDF 时,我在左侧得到 PDF,而如果我通过在 chrome 中保存到 pdf 来完成它,我得到第二个输出。

在此处输入图像描述

我已经明确设置并使用了边距,preferCSSPageSize: true并且两者都给出了相同的(左)结果。

我如何让 Playwright 从打印对话框中为我提供与 chrome 相同的输出?

正在打印的文件的示例在这里。(在现实生活中,考虑到脊椎宽度,它们都略有不同。)

0 投票
1 回答
553 浏览

javascript - 如何聚焦当前标签木偶

如何专注于 puppeteer 中新打开的选项卡?我单击页面上打开一个新选项卡的元素,然后 puppeteer 将注意力集中在由于某种原因刚刚离开的页面上。如何专注于新打开的选项卡?我正在使用谷歌浏览器

0 投票
0 回答
1031 浏览

javascript - 如何超时页面。评估

这是一个代码片段。过一会就卡住了。我需要为此添加超时:

如何让它在 n 秒后超时?它会使网页在一段时间后卡住,我必须手动关闭它才能继续运行。

0 投票
1 回答
45 浏览

javascript - 使用 UI 登录测试的节点

我使用以下博客来使用播放权限登录,我需要类似的东西用于我的应用程序,当我使用时,headless:flase 我看到它打开了带有用户密码的 UI,但是它没有点击登录按钮,我采用了代码我尝试以下方法,我错过了什么吗?

在此处输入图像描述

0 投票
1 回答
106 浏览

javascript - 如何在 puppeteer/playwright 中获取 pageXOffset 和 pageYOffset

我想获取元素的 pageXOffset 和 pageYOffset。这是我尝试过的代码

element在哪里ElementHandle。但不知何故,我得到偏移值为零。想知道我在这里错过了什么

0 投票
2 回答
299 浏览

cron - 为什么我在 cron 中启动时 WebKit 不工作,但在终端中启动时工作?

我正在playwright使用 Ubuntu 18.04 的 VPS 上的 WebKit、Firefox 和 Chromium 上启动脚本。如果我像这样在终端中键入它,则在我的 VPS 上使用绝对路径所有三个都会启动并正常运行cd /home/me/desktop/myCode && /usr/bin/npm run webkit > /home/me/desktop/errors.log 2>&1。这让我觉得我已经从这里正确安装了所有依赖项:https ://github.com/microsoft/playwright/blob/master/docs/docker/Dockerfile.bionic

但是,当我使用完全相同的脚本但通过 cron 时,Firefox 和 Chromium 启动并正常运行,但 Webkit 版本启动(它在启动 WebKit 之前执行异步请求并且发生这种情况),但是当 WebKit 尝试启动它时,整个程序都失败了. cron 脚本如下所示:

8 14 * * * cd /home/me/desktop/myCode && /usr/bin/npm run webkit > /home/me/desktop/errors.log 2>&1

错误如下所示:

这是 Typescript 中的一些代码,以防传入 webkit 的 args 出现问题:

0 投票
1 回答
1215 浏览

dom - 无法使用 playwright 读取有效选择器的 null 属性 innerText

该脚本应该检索 DOM 元素的 innerText,元素选择器是 ('div[class=QzVHcLdwl2CEuEMpTUFaj]'),我已经手动测试了选择器并getSharePrice在 REPL 中调用了该函数,该函数也可以工作。

出于某种原因,我收到一个(node:59324) UnhandledPromiseRejectionWarning: Error: Evaluation failed: TypeError: Cannot read property 'innerText' of null错误,不知道为什么。

我唯一能想到的是该元素尚未加载,导致它评估为 null 这就是无法调用 innerText 的原因。

0 投票
2 回答
1935 浏览

puppeteer - 如果元素具有特定颜色,如何与木偶师或剧作家核对?

我有一个具有这种样式颜色的元素:#dc7709,我想检查该元素的文本是否具有该颜色。我如何使用 Puppeteer 或剧作家做到这一点?