3

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

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

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)  

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

有一个更好的方法吗?

4

1 回答 1

5

您可以使用waitForFunction

month = page.querySelector(".day__month_btn").innerText()
page.waitForFunction("document.querySelector('.day__month_btn').innerText() !== '" + month + "'")
于 2020-10-28T12:28:36.097 回答