问题标签 [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 投票
0 回答
720 浏览

python - Playwright:获取所选元素的完整 XPATH

我想检索\\html\div\...之前通过 egpage.waitForSelector()或找到的元素的完整 XPATH () page.querySelector()

我将如何与剧作家一起做到这一点?我无法为此找到任何内置解决方案。

注意:我正在使用playwright-python,但愿意为此实施 JS 解决方案——因为它会起作用。

模板(取自https://github.com/microsoft/playwright-python示例代码):

编辑:

@hardkoded建议将这个问题的答案(Get element's xpath in javascript)作为解决方案,但遗憾的是,提到的解决方案不适用于我的用例,因为我需要检索元素的整个 XPATH,并且诸如此类的快捷方式//*[@id="THE_ID"]不适用于我。

0 投票
1 回答
99 浏览

python - 外部异步上下文管理器在内部异步生成器之前完成

给定以下最小示例:

我正在break迭代异步生成器,我希望 finally 块在我的异步上下文管理器finally块运行之前完成。在此示例"finalize gen"中,将永远不会打印,因为程序在此之前退出。

请注意,我故意2在生成器finally块中选择了超时,以便上下文管理器finally有机会在之前运行。如果我选择1了两个超时,则将打印两条消息。

这是一种竞赛条件吗?我希望finally在程序完成之前完成所有块。

如何防止上下文管理器块finally在生成器块完成之前运行finally

对于上下文:

我使用剧作家来控制铬浏览器。外部上下文管理器提供它在finally块中关闭的页面。

我正在使用 python 3.9.0

试试这个例子:https ://repl.it/@trixn86/AsyncGeneratorRaceCondition

0 投票
1 回答
889 浏览

exception - 如何在 Playwright-python 中处理 wait_for_selector 函数的 TimeoutError?

我想用它Except TimeoutError来处理超时问题。但是脚本总是给我一个 TimeoutError,而不是按我的计划打印一条消息。

这是我的代码:

我的代码有什么问题吗?

0 投票
1 回答
382 浏览

python - 为在谷歌云应用引擎上运行的 python 运行 PlayWright

Hello PlayWright 有设置命令playwright install,需要先运行才能使用。在运行我的 Django 应用程序之前,如何在 GCP 的应用程序引擎上设置安装脚本来运行此命令?

0 投票
1 回答
539 浏览

playwright - 编剧:如果http状态为500则停止

我希望剧作家早点失败,并在一个 http 请求不是200或时停止302

不幸的是page.click()返回无,所以我不知道如何检查点击的 http 状态。

如何在 Playwright 中实现“异常 http 状态失败”?

0 投票
1 回答
394 浏览

playwright-python - 在剧作家 python 中解决拖放问题

我正在尝试使用当前可用的鼠标操作实现拖放功能(我能够看到有一个未解决的问题),但到目前为止还不能做到这一点。所以我正在寻找解决方法,无论如何我们可以在剧作家python中实现拖放。下面是我尝试使用的代码。

谢谢

0 投票
1 回答
595 浏览

python - python playwright - 从文件添加cookie的问题

我有 cookies.json 文件,登录后我在其中存储了 cookie。我创建了使用该 cookie 打开页面的脚本,代码如下:

但我有这个错误:

此代码最初是在 js 中创建的,但是当我将其转换为 python 时,我遇到了这个问题,有什么帮助吗?

0 投票
1 回答
1327 浏览

python - python playwright中的打印页面源

我有 PHP 脚本,我用这个带有 URL 参数的代码调用 python 函数:

但是,当我在访问页面后想打印页面源时,我收到

因为我尝试的代码不起作用:

有什么帮助吗?

0 投票
1 回答
230 浏览

python - Chrome - 在网络上自动打开 devtools 并保存日志

我正在使用剧作家进行测试自动化。每次测试运行都会创建一个新的铬实例。当我通过--auto-open-devtools-for-tabs它时,它会按预期打开 devtools。但是,我需要更进一步并启用复选框 Perserve Log。测试很快,我需要在重定向之前查看请求。

0 投票
1 回答
1100 浏览

python-3.x - 剧作家 python 无法使用 cookie 获取 api 页面

我在 python 中有两个脚本:

登录 >> 访问网站,使用登录表单登录并将 cookie 存储到 JSON 文件中以备后用

这个脚本运行良好。第二个脚本是从同一网站的其他页面的文件和打印页面源中获取存储的 cookie:

这个脚本也很好用。

但问题是这个网站有一些我想要提取的信息的 API,并且信息不能通过前端用户可见的页面源获得。因此,当我将 API 链接放在第二个链接中时,我收到了空的 JSON 页面。这些 API 请求使用令牌值,但由于我使用 cookie 来获取页面源,因此我没有令牌。我使用这些脚本是因为这是通过该网站拥有的 Cloudflare 保护的唯一方法。有什么方法可以让我使用 requests 模块和 playwright 模块的组合?或者对这种情况有帮助的任何其他建议,如何使用 cookie 获取 JSON 页面?

使用持久上下文更新代码:

1脚本:

2: