问题标签 [playwright-python]

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 回答
75 浏览

google-colaboratory - 在python for循环中等待永远不会完成

我正在为我尝试新事物,使用谷歌 colab 中的剧作家。
这种组合需要/强制异步编程。

我有一个上下文管理器,它能够处理名为“登录”的登录和注销。效果很好!

我试图访问的内部页面有数据集,没有链接,只有 div 可以点击。

定位器(我相信)工作正常,当与我假设的 .element_handles() 结合使用时应该返回多个元素。

在这条线上datasets = await asyncio.gather(datasets.element_handles()) gather()实际上没有工作await并且await永远不会返回,这意味着我没有“进入循环......”。

没有await我得到“ds”变量,但它不是我能做的任何事情。

这个应该怎么用?

0 投票
1 回答
59 浏览

scrapy - 如何与剧作家增加等待时间

我正在将 scrapy 与剧作家集成,但发现自己在单击后添加计时器时遇到了困难。因此,当我点击后截取页面时,它仍然挂在登录页面上。

如何集成计时器,以便页面等待几秒钟,直到页面加载?

0 投票
0 回答
25 浏览

azure - Azure 函数 - Playwright - Python - Linux - 非 Docker

我正在使用 playwright python 使用 azure 函数运行一个函数,当它使用 azure url 启动或测试时,我遇到了错误,

结果:失败异常:错误:/home/.cache/ms-playwright/chromium-965416/chrome-linux/chrome 中不存在可执行文件

看起来 Playwright Test 或 Playwright 刚刚安装或更新。请运行以下命令下载新的浏览器: playwright install <3 Playwright Team

安装铬的任何方向都会有所帮助。如果您需要任何进一步的信息,请告诉我。

requirements.txt 有以下几行

天蓝色功能剧作家==1.19.0

0 投票
0 回答
27 浏览

python - 如何在 jupyter notebook 中使用 Playwright 库而不是使用 .py 脚本

我想使用自动浏览器并使用 jupyter 笔记本单元而不是使用 .py 脚本来执行我的步骤。这适用于名为 selenium 的浏览器自动化库。

它不适用于名为 Playwright 的库。事实上,它根本不起作用。我尝试了他们在手册中提供的每一行代码。在 jupyter 笔记本中没有任何作用。只要在某个 .py 文件中复制粘贴相同的代码并执行它,一切都可以在我的机器上正常工作。我正在谈论的各种示例可以在这里找到:https ://playwright.dev/python/docs/intro

我真的不明白为什么我不能让它在 jupyter notebook 中工作,特别是如果它在每个 .py 文件中都能正常工作。

0 投票
1 回答
28 浏览

aws-lambda - 确保我的无头浏览器在我的 Playwright + Python + Aws lambda 设置中的正确位置

我以前使用过带有 JS 的 playwright,因为 npm 包 (playwright-aws-lambda) 为我创造了魔力,所以生活很轻松。

我找不到任何与 python 类似的东西,所以我想我必须更深入地挖掘,但不知道从哪里开始。

是否有支持 aws-lambda 上的 playwright+python 的包或为此设置添加无头浏览器的基本解决方案?

了解剧作家的替代方案存在,但这不是我们在这个问题中寻找的

0 投票
0 回答
22 浏览

python - 运行 UI 测试:playwright async/await 不起作用

我正在使用 playwright 来运行 UI 测试。这个测试请求获取一个URL,登录,然后检查页面内容。作为开始,我只是尝试登录并捕获

我从 python 命令行运行它。我可以看到 chrome 启动,填写了 id/password,然后 chrome 页面立即消失了。我page.screenshot(path="o.png")捕获了屏幕截图,但这是登录前的屏幕截图,而我的期望是它应该在我登录后捕获屏幕截图await page.locator("input:has-text(\"Sign In\")").click()

如果我在这里误解了什么,你能告诉我吗?

0 投票
0 回答
15 浏览

python - 运行 UI 测试:playwright python 检测元素分离

我正在运行 UI 测试,以登录到基于数据源构建的仪表板。页面先显示“加载中”,然后显示“等待数据”,然后数据填充。

我想等到实际数据填充,因此我的策略是首先使用剧作家定位器等到“等待数据”出现。然后我想计算“等待数据”的数量,并使用无限循环查看计数何时下降到 0。

然而,这个策略的第二部分不起作用——它似乎完全忽略了循环。

0 投票
0 回答
14 浏览

robotframework - 了解启动 Playwright 时的 With-As 命令

在与 Selenium + RobotFW 合作多年后,我正在尝试将 Playwright 和 RobotFW 整合在一起。

我的测试用例很简单:

我将关键字定义如下:

但它总是返回错误Event loop is closed

但是,这个有效:

意味着我必须将该With部分放入函数中。

我试图跳过,With-As但它也不起作用。

感谢您的建议!

0 投票
1 回答
18 浏览

playwright - 剧作家 - 绕过 Fido2 u2f

我正在使用 Playwright 来自动化我正在使用 Fido2 u2f 的网站上的内容。我无法在无头模式下运行它,因为我需要准备好在提示时触摸我的 u2f。这很烦人。

有没有办法在我不必点击的情况下接受 u2f?通过代码。

谢谢你。

0 投票
0 回答
5 浏览

python-3.x - 有没有办法使用 playwright 连接到我现有的浏览器会话

我希望连接到一个网站并下载一些 pdf 文件。该网站只允许我们在登录后查看内容。它要求我们使用 OTP 登录,并且不能同时登录超过 3 台设备。

我希望下载所有列出的 pdf。所以我之前尝试过

保存登录信息。但它不适用于该特定网站。website.json 文件为空,而它适用于其他网站。

因此,我能想到的唯一解决方案是连接到当前浏览器,打开该网站,然后下载这些 pdf。

如果您对此有一些解决方案,甚至有其他方法,请告知。

我也在考虑换成木偶师。但是,我不知道使用node.js解析html,因为我觉得使用css选择器更舒服,所以我不能切换它。