【问题标题】:Using Playwright for Python, how can I wait for a field / selector result to change使用 Playwright for Python,如何等待字段/选择器结果更改
【发布时间】:2021-02-10 15:10:01
【问题描述】:

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

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

month = page.querySelector('.day__month_btn').innerText()

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

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

page.querySelector('.next').click()

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

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

while True:
    if page.querySelector('.day__month_btn').innerText() != month:
        break
    time.sleep(0.2)  

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

有没有更好的方法来做到这一点?

【问题讨论】:

    标签: python webautomation playwright playwright-python


    【解决方案1】:

    你可以使用waitForFunction:

    month = page.querySelector(".day__month_btn").innerText()
    page.waitForFunction("document.querySelector('.day__month_btn').innerText() !== '" + month + "'")
    

    【讨论】:

      猜你喜欢
      • 2021-01-25
      • 2021-01-26
      • 2022-07-04
      • 2021-10-30
      • 2014-09-12
      • 2023-04-03
      • 1970-01-01
      • 2021-06-17
      • 1970-01-01
      相关资源
      最近更新 更多