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

python - 如何使用 playwright-python 处理多个页面?

如何使用playwright-python收听新页面?

在 JavaScript 中,它将被记录为:

变成 Python

0 投票
1 回答
2247 浏览

python - playwright-python 高级设置

我正在尝试为剧作家做一个自定义设置,以便与我的 selenium 设置类似的 python 使用,但是我对 Node.js 并不熟悉,我能找到的唯一有用的指南是:https ://playwright.dev/ #version=v1.4.2&path=docs%2Finstallation.md&q=skip-browser-downloads

所以我的问题是:如果我只想安装带有自定义 chrome 路径的 chrome 库(我需要使用特定的 chrome 版本),我该如何使用 pip 呢?节点指南使用环境变量。他们也为点子工作吗?

PS:如上述链接所述,pip search playwright未显示在搜索结果中。playwright-chrome

0 投票
3 回答
6542 浏览

python - 使用 Playwright for Python,如何选择(或查找)元素?

我正在尝试学习 Python 版本的 Playwright。看这里

我想学习如何定位一个元素,以便我可以用它做事。就像打印内部 HTML,点击它等等。

下面的示例加载一个页面并打印 HTML

此页面包含一个元素

使用 Selenium,我可以像这样定位元素并打印它的内容

我怎样才能在剧作家中做同样的事情?

#UPDATE# - 请注意,如果您想在 2021+ 年运行此程序,当前版本的剧作家已将语法从 CamelCase 更改为 snake_case。

0 投票
4 回答
5361 浏览

python - 使用 Playwright for Python,如何从下拉列表中选择一个选项?

这是关于 Playwright for Python 的基本功能的这个问题的后续。

如何从下拉列表中选择一个选项

这个示例远程控制一个 vuejs-webseite,它有一个下拉列表的水果,如“Apple”、“Banana”、“Carrot”、“Orange”

在这里我要选择“香蕉”选项

下拉列表 HTML 像这样

在 Selenium 中,我会选择这样的选项

Playwright 的 Javascript 文档有这个,这并不完全相同,因为它似乎同时识别对象。

如何在 Playwright for Python 中进行选择?

我尝试了这两种方法,但没有任何反应。

0 投票
1 回答
1243 浏览

playwright - 在 Python 的 Playwright 中,如何使用 QuerySelector 匹配标签内的部分文本?

我正在尝试使用部分文本匹配具有多个 h1 标签的页面上的 H1 标签。

对于此示例,文本是“您的预订是”

我可以像这样定位全文

我还可以获得所有 h1 标签的列表,然后检查所有的 innerHTML

但是这样一来,我就等不及手柄出现了。

我如何编写一个选择器,以便我可以匹配部分标签以便我可以使用page.WaitForSelector()它?

0 投票
1 回答
3102 浏览

python - 使用 Playwright for Python,如何等待字段/选择器结果更改

使用 Playwright for Python,我想等待内容的变化。

我可以像这样获取选择器的内容

在此示例中,我正在读取 datepicker 元素的月份值并希望选择下个月。然后等待,直到月份改变。

要更改月份,我可以单击下个月图标

我现在想等到点击被接受。

一个hacky的方法是等待是反复抓取值直到它改变

在现实世界中,我还需要检查超时。

有一个更好的方法吗?

0 投票
1 回答
916 浏览

python - 如何使用 Playwright Python 异步打开多个页面?

我想使用 Playwright for Python 一次打开多个 url。但我正在努力弄清楚如何。这是来自异步文档:

这将依次打开每个 browser_type。如果我想并行执行,我将如何处理?如果我想对 url 列表做类似的事情,我会怎么做?

我试过这样做:

但这给了我以下错误:

0 投票
3 回答
1985 浏览

python - 使用 Playwright for Python,如何读取输入框的内容

在我正在自动化的网站中,我有一个禁用的输入框。

在网站上,它显示一个数字,例如“1”,并具有其他元素来更改值。

当我查询元素时

我得到了句柄的结果。

当我尝试读取句柄内容时

都是空的 ('')

如何访问当前输入值?

0 投票
1 回答
431 浏览

azure-devops - 如何在 Azure 函数中运行 python playwright

当我通过普通的 Python 解释器运行 Playwright 时,它在我的机器上运行,但是当我尝试将它部署为 Azure 函数时,我得到了错误。

我正在尝试按照此处的说明进行操作,但我"webkit" browser was not found. Please complete Playwright installation via running "python -m playwright install"认为这是一个错误,如果您使用的是 npm,则不会发生该错误。

我尝试创建一个包含以下步骤的 azure devops Pipeline:

我也试过从我的代码中做到这一点:

我可以看到PLAYWRIGHT_BROWSERS_PATH环境变量设置为0.

如何让它在 Azure 函数上运行?

0 投票
1 回答
1492 浏览

python-3.x - 使用 playwright-python 下载 pdf 文件

我正在尝试使用playwright(Python)下载在浏览器中呈现的 PDF 文件(未显示为弹出窗口或下载)。没有公开 URL,因此您不能简单地抓取链接并使用requests.get("file_url").

我试过了:

我也试过page.expect_popup()没有运气。我的理解是,这不能使用 来完成pyppeteer,但如果可能的话,也欢迎这样的解决方案。