小编bud*_*mat的帖子

Python Playwright 同步 API 与异步 API 之间有什么区别?

我已经开始学习playwright-python,该包playwright有两个子模块async_apisync_api。然而,我找不到关于它们各自优缺点的更深入的描述或讨论。从他们的名字来看,我假设同步 API 调用是阻塞的,而异步 API 调用在后台运行?

它们的功能是否不同,即是否存在无法sync_api完成您可以使用 来完成的事情的情况async_api(反之亦然)?

python webautomation async-await playwright playwright-python

8
推荐指数
1
解决办法
6599
查看次数

在 Playwright for Python 中,如何获取与 ElementHandle 相关的元素(孩子、父母、祖父母、兄弟姐妹)?

在 playwright-python 中我知道我可以得到一个elementHandleusing querySelector().

示例(同步):

from playwright import sync_playwright

with sync_playwright() as p:
    for browser_type in [p.chromium, p.firefox, p.webkit]:
        browser = browser_type.launch()
        page = browser.newPage()  
        page.goto('https://duckduckgo.com/')
        element = page.querySelector('input[id=\"search_form_input_homepage\"]')
    
Run Code Online (Sandbox Code Playgroud)

如何根据 this 获取相对于此的元素elementHandle?即父母、祖父母、兄弟姐妹、孩子的句柄?

python dom handle playwright playwright-python

7
推荐指数
1
解决办法
1万
查看次数

来自守护程序的错误响应:abhishek8054/token-app 的清单:未找到最新版本:清单未知:清单未知

我制作了自己的 Docker 镜像,这是一个简单的 React 应用程序,并将其推送到 Docker Hub 上。现在我试图在系统中提取我的图像,然后它显示一个错误

来自守护程序的错误响应:abhishek8054/token-app 的清单:未找到最新版本:清单未知:清单未知”。

我做错事了。

我的Dockerfile代码是:

FROM node:16-alpine
WORKDIR /app/
COPY package*.json .
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm","start"]
Run Code Online (Sandbox Code Playgroud)

我通过以下命令制作了图像:

docker image build -t abhishek8054/token-app:latest .
Run Code Online (Sandbox Code Playgroud)

并使用以下命令推送我的图像:

docker push abhishek8054/token-app:latest
Run Code Online (Sandbox Code Playgroud)

并使用以下命令再次拉取它:

docker pull abhishek/8054/token-app
Run Code Online (Sandbox Code Playgroud)

它给了我上面的错误。

deployment production docker devops

7
推荐指数
2
解决办法
3万
查看次数

使用python代码更新/删除汇合页面

我想通过Confluence REST API更新一个Confluence页面。请建议一个代码片段,我可以通过它的“页面标题”更新页面。

假设我的 Confluence 站点是https://wiki.mydomain.com,页面标题是TEST,空间是TST

python python-2.7 confluence-rest-api

5
推荐指数
2
解决办法
3859
查看次数

在 Playwright for Python 中,如何从框架 (iframe) 中检索元素的句柄?

我已经成功地在 python 中使用 Playwright 从页面中获取元素。我现在遇到了从嵌入iframe的文档中获取元素的挑战。作为示例,我使用了w3schools 页面来解释<option>element,该页面在 iframe 中显示结果。<option>我正在尝试从 iframe 中检索该元素的句柄。

获取页面上的 an 元素的“正常”方式page.querySelector()无法获取 an elementHandle,这只会打印<class 'NoneType'>

with sync_playwright() as p:
    for browser_type in [p.chromium, p.firefox, p.webkit]:
        browser = browser_type.launch(headless=False)
        page = browser.newPage()
        page.goto('https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_option')
        element = page.querySelector('select')
        print(type(element))
        browser.close()
Run Code Online (Sandbox Code Playgroud)

我尝试首先显式获取 iframe 的句柄,但这会产生相同的结果 ( <class 'NoneType'>):

with sync_playwright() as p:
    for browser_type in [p.chromium, p.firefox, p.webkit]:
        browser = browser_type.launch(headless=False)
        page = browser.newPage()
        page.goto('https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_option')      
        iframe = page.querySelector('iframe')
        element = …
Run Code Online (Sandbox Code Playgroud)

python iframe webautomation playwright playwright-python

5
推荐指数
1
解决办法
4968
查看次数

正则表达式匹配非整数?

尝试创建一个忽略正确整数(15999等)和正斜杠(/)的正则表达式,但在其他所有内容中找到匹配项。例如,它将找到以下匹配项:

  • test
  • test1
  • test-1

但忽略了

  • 1
  • 55
  • 7

这是为了模组重写。

regex mod-rewrite

4
推荐指数
1
解决办法
8338
查看次数

如何使用 pd.melt 取消透视列共享前缀的数据框?

我正在尝试使用逆透视数据pd.melt,但到目前为止尚未成功。每一行都是一个商家,数据包含该商家的信息和多个评论。我希望我的数据将每个评论作为一行。

我的前 150 列以 15 为一组,每个组的列名称都具有相同的reviews/n/模式0 < n < 9。( reviews/0/text,, reviews/0/date..., reviews/9/date)。数据框中接下来的 65 列包含更多有关业务的数据(例如business_idaddress),这些数据应保留为 id_variables。

我当前的数据如下所示:

业务_id 地址 评论/0/日期 评论/0/文本 评论/1/日期 评论/1/文本
12345 01街 1990年1月1日 “abc” 1995年2月2日 “定义”

我的新数据框应该将每个评论作为一行而不是每个业务,并且看起来像这样:

业务_id 地址 评论号 审核日期 评论文本
12345 01街 0 1990年1月1日 “abc”
12345 01街 1 1995年2月2日 “定义”

我尝试使用pd.melt但无法成功编写对我有价值的代码。

python regex unpivot melt pandas

4
推荐指数
1
解决办法
324
查看次数

如何使用 Python 下载 Confluence 页面附件?

使用atlassian-python-api 1.15.1模块,python 3.6 如何下载附加到 Confluence 页面的文件?

API 文档的页面操作部分提到了一个 API ,通过get_attachments_from_content它我可以成功获取所有页面附件及其元数据的列表。在这个问题的末尾有一个例子,我可以通过打印密钥中的一项来获得什么results

我已经尝试过使用该wget模块下载附件:

fname = wget.download(base_server_name + attachment['_links']['download'])
Run Code Online (Sandbox Code Playgroud)

然而,下载的文件不是页面上的文件,而是一个很大的 HTML 文件,看起来像一个轻型登录页面。另外,我不确定 usingwget在这里是否相关,我更喜欢使用 atlassian python API 本身的解决方案,因为它自己管理身份验证。

“结果”键:

{'id':'56427526','类型':'附件','状态':'当前','标题':'main.c','元数据':{'mediaType':'application/octet-stream ', 'labels': {'results': [], 'start': 0, 'limit': 200, 'size': 0, '_links': {'self': ' https://foo.bar . com/confluence/rest/api/content/56427526/label '}}, '_expandable': {'currentuser': '', 'properties': '', 'frontend': '', 'editorHtml': ''} }, 'extensions': {'mediaType': 'application/octet-stream', 'fileSize': 363, 'comment': ''}, '_links': {'webui': '/pages/viewpage.action? pageId=14648850&preview=%2F14648850%2F56427526%2Fmain.c', '下载': '/download/attachments/14648850/main.c?version=1&modificationDate=1580726185883&api=v2', 'self': ' …

python confluence confluence-rest-api atlassian-python-api

3
推荐指数
1
解决办法
8371
查看次数

将日期字符串解析为带时区的日期时间

我有一个字符串:

r = 'Thu Dec 17 08:56:41 CST 2020'
Run Code Online (Sandbox Code Playgroud)

这里CST代表中国中部时间('亚洲/上海')。我想将它解析为日期时间...我正在做类似的事情

from dateparser import parse
r1 = parse(r)
Run Code Online (Sandbox Code Playgroud)

这给了我 r1 作为:

2020-12-17 08:56:41-06:00
Run Code Online (Sandbox Code Playgroud)

而且我也在做这个

r2 = r1.replace(tzinfo=pytz.timezone("Asia/Shanghai"))
Run Code Online (Sandbox Code Playgroud)

这给了我 r2 :

 2020-12-17 08:50:41+08:00
Run Code Online (Sandbox Code Playgroud)

r2 有 6 分钟的延迟有人能告诉我为什么吗?以及如何正确地将我的原始字符串 r1 传输到所需的 r2 ,即:

2020-12-17 08:56:41 in Asia/Shanghai timezone
Run Code Online (Sandbox Code Playgroud)

谢谢

python datetime date-parsing

3
推荐指数
1
解决办法
4221
查看次数

SQL Server:如何拆分一列中的字符串并将值分配给另一列(没有额外的行!)

在一张表中,我有一个完整的地址,我必须将其分成城市和邮政编码以存储在其他列中。

这是示例地址:

address= 'Marco Polo street 8a, 44000 Vienna'
Run Code Online (Sandbox Code Playgroud)

有些行可能包含多个地址,但我必须只保留最后一个逗号 ( 44000 Vienna) 之后的最后部分。

所以最终的结果应该是:

 post_office = 44000 
 city = Vienna
Run Code Online (Sandbox Code Playgroud)

到目前为止已尝试: /sf/answers/940167091/

带有嵌套子字符串,如下所示:

city = SUBSTRING(SUBSTRING(address, CHARINDEX(' ', address, 0) + 1, LEN(address)), CHARINDEX(',', address, 0) + 1, LEN(address))
Run Code Online (Sandbox Code Playgroud)

post_office = SUBSTRING(SUBSTRING(address, CHARINDEX(',', address, 0) + 1, LEN(address)), 0, CHARINDEX(' ', address, 0))
Run Code Online (Sandbox Code Playgroud)

但这仅部分有效,因为城市也可以有多个单词,例如:

city = '44300 Vienna Old Town'
Run Code Online (Sandbox Code Playgroud)

我的数据的规则是:找到最后一个逗号,获取逗号后面的所有数字并将其定义为post_office然后,在第一个空格之后post_office直到字符串的其余部分,应将其定义为城市。

我正在运行 Microsoft SQL Server 2017 (v14.0.3391.2 - X64)

sql sql-server

3
推荐指数
1
解决办法
875
查看次数